如果尝试更改全局声明数组中的元素,我将在以下代码中获得所需的结果:
a = [['a','b','c'], ['d','e','f'], ['g','h','i']]
for r in a:
for c in r:
print(c,end = " ")
print()
print()
def changeValue(ch):
a[0][0]=ch
ch=input("Please enter a character\n")
changeValue(ch)
for r in a:
for c in r:
print(c,end = " ")
print()
print()
但是在下面的代码中,我没有得到期望的结果,即[0][0]处的元素没有改变
a = [['a','b','c'], ['d','e','f'], ['g','h','i']]
for r in a:
for c in r:
print(c,end = " ")
print()
print()
def enterSymbol(pos,ch):
if pos==1:
a[0][0]=ch
elif pos==2:
a[0][1]=ch
pos=input("Enter a position\n")
enterSymbol(pos,'X')
for r in a:
for c in r:
print(c,end = " ")
print()
请帮忙
Python将条目输入理解为字符,而不是整数。 例如,您可以将
if pos==1:
替换为ifpos=='1':
,这样就可以了input
函数返回字符串,而不是数字:所以这个条件,
这从来都不是真的
解决问题的一种方法是将代码更改为:
输入中的位置始终是字符串。这就是为什么它不会进入enterSymbol中的if条件(与int相比的字符串)
将其替换为pos,它应该可以工作
相关问题 更多 >
编程相关推荐