首页 > 解决方案 > 如何用python在函数内部编写while循环?

问题描述

我正在阅读“Python Crash Course”一书,问题如下:

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)

标签: pythonfunctionloops

解决方案


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

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否则,它将转到下一个输入。


推荐阅读