如何调用函数而不导致调用的循环

2024-05-18 06:34:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个密码:

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())

当我通过终端启动代码时,它要求我输入专辑名和artist_name6次,尽管我在range中只要求调用3次。我发现这个错误是因为for循环启动了,即使我没有调用它是make_album()的一部分的函数。我不想调用make_album()函数中的循环,因此它会要求我输入请求的数据,只需要输入range(3)中请求的数据三次


Tags: 数据函数name密码forinputalbummake
2条回答

请看代码的最后两行

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)

相关问题 更多 >