我如何在代码中实现try / except / else结构?

时间:2017-11-11 21:59:01

标签: python python-3.x

对于我的信息学类分配,它要求我对我的代码使用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结构,以确保其有效月份,有效日期,有效年份。

2 个答案:

答案 0 :(得分:0)

Python中的

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确保用户确实输入数字数据。

给出一个关于最终程序结构如何的简短提示:

  1. 将用户输入收集到变量中(不要解析,只需存储它)
  2. 尝试使用int()
  3. 解析存储的用户输入
  4. 如果(2)以离子失败,则打印一个责骂消息
  5. 其他打印好消息,做特殊日期等事情

答案 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