我正在研究这段代码,该代码基本上根据用户提供的输入(用户名)提供输出,我需要有关如何区分基于名称的输出的帮助/建议。
我尝试过if语句,但是它确实是基本的检测程序,因为我不久前才研究python。
# var
import random
nopes = ("nope1", "nope2", "nope3")
list1 = 1
list2 = 2
list3 = 3
list4 = 4
list5 = 5
list6 = 6
list7 = 7
list8 = 8
list9 = 9
# functions
def mainfunc():
if a in "name1":
print(list1)
elif a in "name2":
print(list2)
elif a in "name3":
print(list3)
elif a in "name4":
print(list4)
elif a in "name5":
print(list5)
elif a in "name6":
print(list6)
elif a in "name7":
print(list7)
elif a in "name8":
print(list8)
elif a in "name9":
print(list9)
else:
talk()
def talk():
print(random.choice(nopes))
#syntax's
a = input("What's your name? : ")
mainfunc()
是的,它有效。但是如果输入错误,代码将无法按我预期的那样工作,而我试图避免这种情况。
答案 0 :(得分:0)
我并没有完全理解您的代码的意图,但是,如果您想根据输入来打印不同的列表,则可以使用词典来代替几个list#
对象。
lists = {
"name1": ["a","b","c"],
"name2": ["d","e","f"]
}
a = "name1"
if (a in lists.keys()):
print(lists[a])
# Output: ['a', 'b', 'c']
那样,您只需要维护字典对象,而不必维护单个对象和elseifs