#Print out the menu
print """
###############################################
# 1 - Introduction. #
# 2 - Base. #
# 3 - Contact. #
###############################################"""
#Get the user's choice
choice = raw_input("")
#Work with choice
print choice
if choice == 1:
print "# Welcome to xbrEra's first application! #"
elif choice == 2:
print "# This application was built in Python 7.2.1. #"
elif choice == 3:
print "# Contact me at Blackriver.era@hotmail.com #"
else:
print "# Invalid choice! #"
这是我的代码。我的问题是,在第一次输入完成后,他们的下一个输入将有“>>>”作为前缀。我如何改变这一点,而且我一直在“无效的选择!”在当前的代码中。请帮忙,谢谢!
答案 0 :(得分:2)
我一直在“无效的选择!”在当前的代码中
raw_input()
在python 2.7中返回字符串,因此您需要比较为
choice == "1"
或者您可以尝试使用 input()
代替raw_input()
,将输入评估为数字。
或者你可以解析为int(raw_input())
的整数,如J.F.Sebastian所指出的那样。非整数输入可能会导致错误,因此请使用try:except:block like
try:
choice = int(raw_input(), 10)
except ValueError:
choice = None
ps:“,10”用于基数10,输入可以像010一样填充,可以将输入作为八进制数
答案 1 :(得分:0)
#Print out the menu
ch = """###############################################
# 1 - Introduction. #
# 2 - Base. #
# 3 - Contact. #
###############################################
Enter your choice : """
choice = raw_input(ch)
warn = "\n You must enter 1 or 2 or 3.\n"+\
" Enter your choice : "
while choice not in ('1','2','3'):
choice = raw_input(warn)
print ("# Welcome to xbrEra's first application! #",
"# This application was built in Python 7.2.1. #",
"# Contact me at Blackriver.era@hotmail.com #")[int(choice)-1]
答案 2 :(得分:0)
我认为你需要像这样编码你的新行'\ n''你必须输入1,2或3。''\ n'