【发布时间】:2020-08-31 23:15:33
【问题描述】:
我对编程很陌生。
我正在通过一本书“Python Crash Course: A hands-on, project-based Introduction to Programming”学习
我正在编写一个代码,其中涉及制作一个字典,然后循环一个关于字典中项目的句子,然后创建一个只打印字典中每个键的值的循环。
我完成了第一部分,但是在编写第二个循环时,它只是返回字典中最后一个键的值并将其循环多次,而不是循环键中的各个值。谁能告诉我我做错了什么?
代码如下:
rivers = {'nile': 'egypt', 'amazon': 'south america',
'mississipi': 'us', 'yangtze': 'china',
'ganges': 'india',}
for river, rivers in rivers.items():
print(f"The {river.title()} is in {rivers.title()}")
for river in rivers:
print(rivers)
【问题讨论】:
-
您在第一个 for 循环中覆盖了
rivers的定义:for river, rivers in rivers.items():。在 for 循环中使用不同的变量名,例如country。 -
对于
for循环的每次迭代,变量river和rivers都会被rivers.items()的开始 处的下一个值覆盖循环。一旦循环结束,它们就不会被清除,因此当您稍后尝试打印for river in rivers时,循环设置它的最后一个值就是您得到的值。当两个变量靠近时,请注意不要将它们命名为相同的名称。
标签: python python-3.x dictionary