繁体   English   中英

如何根据python中的用户输入选择从多个连接列表中打印随机项?

[英]How to print random items from multiple concatenated lists based on user input choice in python?

我想创建一个简单的应用程序,建议艺术家根据用户输入的类型选择进行收听。 我有连接列表(流派),它可以使用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”,但输出是从任一列表中的随机项ab无如果用户输入严格ab

我相信你问题的根源是用户输入='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"是一个新行字符,是我在输出的下一行显示提示>>>方式

我认为问题是你在做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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM