对于其中一项练习的词典来说,这是一个非常基本的问题。问题是 : 编写Python脚本以生成并打印包含(x,x * x)形式的数字(在1到n之间)的字典。
这是我的代码:
import random
def dict_generate():
n = int(input("Please enter an integer:"))
dic = {}
for x in range(n):
num = random.randrange(1,n)
key = num
value = num*num
dic[key] = value
print(dic)
dict_generate()
但是,当我运行它时,它似乎跳过了几次迭代,因此最终结果是,我得到的字典中的值小于输入的数字。例如,我输入了5,但不是5组键和值,我的输出是这样的: {3:9,1:1,1:2:4}
通过python导师运行此代码,问题似乎在于未将值插入字典中。我似乎不明白为什么。如果有人可以解释,那将真的很有帮助,谢谢。 (我知道还有很多其他方法可以解决这个问题,但我想了解我哪里出了问题。)