为什么输入函数不起作用?

2024-06-28 19:58:54 发布

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

我开始做一个项目,显示我喜欢的乐队,然后问什么艺术家/乐队的专辑,他们想看到由我评级。我用它来展示我喜欢的专辑,但每当我试图让Python展示我如何为乐队/艺术家在特定专辑中对每首歌进行评分时,它什么也做不了。就这样结束了。你知道吗

发生了什么?我该如何解决?你知道吗

另外,如何将album = input("\nWhich album would you like to see the songs rated?")转换为小写,这样更简单?比如它问你想看哪张专辑的歌曲?我把Vessel,Python不会解释列表名,也不会粘贴列表吗?你知道吗

import time

top_albums = ["1.) Vessel", "2.) Regional at Best", "3.) Twenty One 
Pilots", "4.) Blurryface"]

twenty_one_pilots = ["Example 1"]
regional_at_best = ["Example 2"]
vessel = ["Example 3"]
blurryface = ["Example 4"]

for top_album in top_albums:
    print(top_album)

time.sleep(2)

album = input("\nWhich album would you like to see the songs rated?")


if album == twenty_one_pilots:
    print(twenty_one_pilots)

elif album == regional_at_best:
    print(regional_at_best)

elif album == vessel:
    print(vessel)

elif album == blurryface:
    print(blurryface)

Tags: albumexampletoponeatbestprintelif
2条回答

python不会将字符串解释为代码,这意味着您的代码不会按预期运行。若要执行所需操作,请对album执行eval()。你知道吗

关于第二个问题,使用.lower()将字符串转换为小写,如下所示:

album = input("…").lower()

如果希望基于列表名获取列表的内容,则使用dictionary可能更合适。最小示例:

my_bands = { "vessel" : ["album 1", "album 2"], "21 pilots" : ["album 1", "album 2"] }

band = input("\nEnter a band name to see their albums: ")

print(my_bands[band])

例如,要包含收视率,列表可以是具有唱片集名称和收视率的元组列表。但希望这能让你从正确的方向开始。你知道吗

正如其他地方所说的,可以对字符串使用.lower()来转换为小写。所以上面最后一行是print(my_bands[band.lower()])。你知道吗

相关问题 更多 >