我得到这个错误:
Traceback (most recent call last):
File "c:\_Muh Stuff\IT\Learning\Python\Projet Hanoi\Main_Program.py", line 106, in <module>
tab_res()
File "c:\_Muh Stuff\IT\Learning\Python\Projet Hanoi\Partie_E.py", line 81, in tab_res
write(elem, ": ", all_keys[i], "\n")
File "<string>", line 8, in write
File "C:\Users\Augustin\AppData\Local\Programs\Python\Python37-32\lib\turtle.py", line 3431, in write
end = self._write(str(arg), align.lower(), font)
AttributeError: 'int' object has no attribute 'lower'
根据此代码:
`for i in range(0, len(all_keys)):
if i == 6:
break
elem = dict1[all_keys[i]]
print(elem, ": ", all_keys[i])
turtle.write(elem, ": ", all_keys[i], "\n")
del dict1[all_keys[i]]`
我只是不明白这个错误怎么会和海龟有关
是不是因为结尾的“\n”
write()
与print()
不同print()
将接受任意多个参数,每个参数都将作为结果字符串的一部分打印出来,并自动用空格分隔另一方面,
write()
方法的签名如下:(来源:https://github.com/python/cpython/blob/master/Lib/turtle.py)。它将单个字符串作为第一个参数,随后的位置参数有不同的用途。通常我们只用一个参数来调用它,一个我们想写的字符串
我编写了一些测试数据以使您的代码正常工作,并对其进行了修改以实现您所需的功能
请注意,
\n
仅在每个字符串wewrite
中有效,对后续字符串没有影响。因此,默认情况下,它们都将被写在彼此的顶部在我的示例中,我通过手动将海龟移动到下一行的开头来伪造它。另一种方法是构建一个大的输出字符串,其中包含由
\n
字符分隔的每一行,并一次编写所有这些内容(这将起作用)相关问题 更多 >
编程相关推荐