python - 如何用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)
解决方案
将输入直接传递给函数,然后在函数中打印专辑字典。
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
否则,它将转到下一个输入。