对于我的信息学类分配,它要求我对我的代码使用try / except / else结构。我知道我不应该在这个网站上发布初学者友好的问题,但我需要帮助。
检查用户是否输入了有效的月份编号和有效的日期编号。使用try / except / else结构确保输入数字数据。我已经有了if / else结构。
我不知道问题是要求我使用其中一个还是全部三个。
这是我的代码,它完美无缺:
#This program will ask the user to enter a month (in numeric form), a day in a months, and a two-digit year.
#Then, determine if this is a special date(the month times the day equals the year).
#Special Date
print("The date February 10, 2020 is special because when it is written in the following format the month times the day equals the year : 2/10/20.")
#Inputs
userInputMonth = int(input("Please enter a valid month:"))
userInputDay = int(input("Please enter a valid day:"))
userInputYear = int(input("Please enter a valid two-digit-year:"))
print()
if userInputMonth * userInputDay == userInputYear:
print("The date you provided " + str(userInputMonth) + "/" + str( userInputDay) + "/" + \
str(userInputYear) + " is the special date.")
else:
print("The date you provided " + str(userInputMonth) + "/" + str(userInputDay) + "/" + \
str(userInputYear) + " is not the special date.")
我只需要弄清楚如何实施try/except/else
结构,以确保其有效月份,有效日期,有效年份。
答案 0 :(得分:0)
Try-except-else
大致以这种方式工作:
try:
dosomething() # see if something works
except:
handleproblem() # it didn't work, handle the problem
else:
domorestuff() # it did work, proceed normally
在您的情况下,解析用户输入可能会失败,例如用户输入是abc
而不是数字。
try:
usermonth = int(input("Please enter a valid month:"))
except ValueError as e:
print("Please provide a numeric input next time")
else:
print("Thank you, month is ok")
这不是您问题的完整解决方案,但应该让您入门。
使用try / except / else结构确保输入数字数据。
我对您的任务要求的解释是,您应该按照我上面列出的内容进行操作,使用try-except-else
确保用户确实输入数字数据。
给出一个关于最终程序结构如何的简短提示:
int()
答案 1 :(得分:-1)
你在找这样的东西吗?
StaticCache
如果try:
userInputMonth = int(input("Please enter a valid month:"))
except ValueError as error:
print(str(error))
else:
print("Input month is ok!")
错误,上述程序将打印错误消息。
修改:您可以按如下方式修改code。
userInputMonth