m=int(input()) n=int(input()) a=[[0]*n]*m for i in range(m): a[i]=input.split('') for j in range(n): a[i][j]=int(a[i][j]) print a
报错信息:
Traceback (most recent call last):
File "D:/pyProgram/test/helloworld.py", line 6, in <module>
a[i]=input.split('')
AttributeError: 'builtin_function_or_method' object has no attribute 'split'
<p>翻译错误信息如下:<br>
属性错误:'内置函数或方法'对象没有属性'split' 。
方法 split() 的功能是 拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)。
下列代码创建了一个拥有两个(分别为英文、中文)字符串的列表 input。每个字符串的单词都以空格分开。对于此种场合,可以调用方法 split(' '), 以便将每个单词"切下来", 构成一个 二维 "单词/标点符号" 列表。
鉴于有 2 个 字符串,各有4个(单词、标点符号)元素,所以,最终构成的二维"单词/标点符号" 列表的维数是 2×4。
m=int(input())
n=int(input())
a=[[0]*n]*m
input=["Siberian huskies are affectionate","情深 不及 哈士奇 !"]
for i in range(m):
a[i]=input[i].split(' ')
print(a)
输出:
D:\untitled\venv\Scripts\python.exe D:/pythonProject0/error1.py
2
4
[['Siberian', 'huskies', 'are', 'affectionate'], ['情深', '不及', '哈士奇', '!']]
不知楼主这段代码的意图是什么。若要创建一个 m×n 整型数组,元素是下限为 0,上线是 100 的随机数,那么代码可以写成:
import random
m=int(input())
n=int(input())
a=[[0]*n]*m
for i in range(m):
for j in range(n):
a[i][j]=random.randint(0,100)
print (a)
输出:
4
5
[[46, 88, 30, 60, 70], [46, 88, 30, 60, 70], [46, 88, 30, 60, 70], [46, 88, 30, 60, 70]]
若要将 m×n 小数点型数组的元素都四舍五入取成整数,那么代码可以写成:
a = [[1.5,2.4,3.7], [4.9,5.5,6.7]]
print(a)
print('元素四舍五入取成整数:')
m = len(a)
n = len(a[0])
for i in range(m):
for j in range(n):
a[i][j]=round(a[i][j])
print(a)
输出:
[[1.5, 2.4, 3.7], [4.9, 5.5, 6.7]]
元素四舍五入取成整数:
[[2, 2, 4], [5, 6, 7]]
<p>input是python的一个函数,这个函数没有split方法。</p>
input() 是 python 的一个内置函数。 如果弃掉尾部的圆括号()从而就可成为一个变量的名称,如一个字符串的引用: input:input="变量名"。
这里input是一个方法,它不能使用split,表示将字符串分割,而这里你将input输入都转成了int,所以m.split或者n.split都是错误的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。