如何使用python在函数内部编写while循环?

时间:2019-07-27 15:43:03

标签: python function loops

我正在阅读“ Python崩溃课程”这本书,问题如下:

  

8-8。用户相册:从练习8-7开始编写程序。编写一个while循环,允许用户输入专辑的艺术家和标题。掌握这些信息后,请使用用户的输入调用make_album()并打印创建的字典。确保在while循环中包含退出值。

我没有做8-7的问题,但是尝试添加功能,解决8-7的循环我不知道了。

这是我已经尝试过的代码:

    while True: 
        print('Give me an artist.')
        artist=input()
        print('Give me an album.')
        album=input()

        if artist == 'quit':
            break
        elif track_no:
            track_no=input()
            albums = {'Artist': artist, 'Album':album, 'Track Number':track_no}
        else:
            albums = {'Artist': artist, 'Album':album}

    print(albums)



这是我的8-7问题代码:

def make_album(artist, album, track_no=' '):
    if track_no:
        albums = {'Artist': artist, 'Album':album, 'Track Number':track_no}
    else:
        albums = {'Artist': artist, 'Album':album}

    print(albums)

3 个答案:

答案 0 :(得分:1)

我认为这是您想要的:

while True: 
    print('Give me an artist.')
    artist=input()
    print('Give me an album.')
    album=input()

    if artist == 'quit':
        break

    make_album(artist, album)

答案 1 :(得分:1)

while True: 
    print('Give me an artist.')
    artist=input()
    print('Give me an album.')
    album=input()

    if artist == 'quit':
        print ('Artist': artist, 'Album':album)
        break

答案 2 :(得分:1)

直接将输入传递给函数,然后在函数中打印专辑字典。

while True:

    print('Give me an artist.')

    artist=input()
    if artist == 'quit':
        break

    print('Give me an album.')
    album=input()

    print('Give the Track No.')
    track_no=input()

    make_album(artist, album, track_no)

在请求quit输入之后立即添加artist条件,否则,它将继续进行下一个输入。