Python 如何调用函数而不导致调用循环
我有以下代码:Python 如何调用函数而不导致调用循环,python,python-3.x,Python,Python 3.x,我有以下代码: def make_album(): album1 = {} album2 = {} album3 = {} for x in range(3): album_nm = input("Album name: ") artist_nm = input("Artist name: ") if x == 0: album1[album_nm] = artist_nm e
def make_album():
album1 = {}
album2 = {}
album3 = {}
for x in range(3):
album_nm = input("Album name: ")
artist_nm = input("Artist name: ")
if x == 0:
album1[album_nm] = artist_nm
elif x == 1:
album2[album_nm] = artist_nm
elif x == 2:
album3[album_nm] = artist_nm
return album1, album2, album3
make_album()
print(make_album())
当我通过终端启动代码时,它会要求我输入相册名和艺术家名6次,尽管我在
范围内要求只调用3次。我发现这个错误是因为for循环被启动,即使我没有调用它是make\u album()
的一部分的函数。我不想调用make_album()
函数中的循环,因此它会要求我输入三次所要求的数据,就像我在范围(3)
中所要求的那样查看代码的最后两行
make_album()
print(make_album())
您调用了函数make_album()
两次,这就是为什么您得到了6次输入。只需更改为:
result = make_album()
print(result)
或者,只需删除最后一行:
print(make_album())
祝你好运,好运 更多Python代码:
def make_album():
albums = []
for x in range(3):
print(x+1)
album_nm = input("Album name: ")
artist_nm = input("Artist name: ")
albums.append({album_nm: artist_nm})
return albums
albums = make_album()
print(albums)
您将调用两次make_album()
,每次调用产生三组输入。第一个电话完全没用,因为你把结果扔掉了。好吧,我明白了。我认为print(make_album())内部调用只是为了输出结果。现在谢谢你,我理解得很好;D@Youssef,只需从代码中删除最后第二行。保持最后一行,你就完成了。进行2次函数调用就是要求您输入3*2=6次。