我想制作一个简单的应用程序,根据用户输入的类型选择建议艺术家收听。我有串联列表(流派(,它可以使用random.choice从任何列表中打印随机项目。但是,我希望它仅从用户输入的列表中打印随机项目,而不是从随机列表中打印随机项目。
尝试在 elif 和其他之间切换。尝试制作一个 for 循环,但没有取得多大成功。
import random
a= ["x", "y"]
b= ["z", "k"]
print("please choose between a or b")
answer = input ()
if answer == "a":
print("You should check out : " , random.choice(a+b))
elif answer == "b":
print("You should check out : " , random.choice(b))
我希望输出是用户输入"a"时列表中的随机项目a
,以及用户输入"b"时列表中的随机项目b
,但输出是来自列表a
或b
的随机项目,无论用户输入是严格a
还是b
。
我认为问题是你正在做random.choice(a+b)
而不是random.choice(a)
.下面对我来说很好用
import random
a= ["x", "y"]
b= ["z", "k"]
print("please choose between a or b")
answer = input ()
if answer == "a":
print("You should check out : " , random.choice(a))
elif answer == "b":
print("You should check out : " , random.choice(b))
您问题的根源是用户输入 = 'a' 下的a+b
位。此外,您可以将提示放入input()
语句中。当我运行时,它似乎对我来说工作正常:
import random
a = ["x", "y"]
b = ["z", "k"]
answer = input("please choose between a or b n>>>")
if answer == "a":
print("You should check out : ", random.choice(a))
elif answer == "b":
print("You should check out : ", random.choice(b))
示例输出:
please choose between a or b
>>>a
You should check out : x
please choose between a or b
>>>b
You should check out : k
尝试了几次才能获得"z",但它会显示:
please choose between a or b
>>>b
You should check out : z
"n"
是一个换行符,是我获得提示>>>
显示在输出的下一行的方式