我是python的新手,在过去的几个小时里一直在努力想弄清楚如何让它正常工作......
这是非常简单的代码我敢肯定,但我只是没有得到它。
下面的代码应该是非常明显的,但基本上我要求用户输入事件的日期作为'int',如果它不是数字,那么请他们再试一次.. 。除非这是一个“?”
while True:
date = None
street = str(input('Name of street?: ').title())
city = str(input("In what city?: ").title())
while True:
try:
year = int(input("Date of event? (or '?'): "))
if date == "?":
break
except Exception:
print("That's not a date, try again!")
continue
break
似乎它甚至没有看到 IF ,因为它可以被'except'捕获。
答案 0 :(得分:0)
如果您要在'?'之后显示帮助。输入,然后只需调用函数显示当前中断的帮助。
if date == "?":
display_help()
continue
然后,拆分读取输入并将其处理为两个步骤。
in = input("Date of event? (or '?'): ")
if in == "?":
display_help()
continue
year = int(in)
此外,你要求约会,但后来假设输入了一年,我在你的承诺中更明确。
"请输入活动年份,例如:1998年和#34; 或者你真正想要的任何形式。
答案 1 :(得分:0)
尝试使用valueError异常。另外我认为在你提到的帖子中你想输入一个整数日期,所以我用日期替换了年份。如果您希望年份为整数,则可以将年份替换为变量日期。如果您希望用户输入年,日和月,则需要重新设计此程序。
date = None
street = str(input('Name of street?: ').title())
city = str(input("In what city?: ").title())
while True:
date = input("Date of event? (or '?'): ")
if date == "?":
break
else:
try:
date = int(date)
except ValueError:
print("That's not a date, try again!")
continue
break