我正在制作一个代码
我想要的第一个字符串消息是当数字大于12(我已经解决的(时。"不存在"。
我要返回的第二个字符串消息是字符串输入而不是数字时。"未识别的数字"。
我需要帮助这样做,我不确定如何。
以下是我当前的代码。
days_in_month = [31,28,31,30,31,30,31,31,30,31,30,31]
def how_many_days(month_number):
if month_number > 12:
return "Doesn't exist"
if how_many_days.isdigit(month_number) == False:
return "Unrecognized number"
return days_in_month[month_number - 1]
print how_many_days(13)
print how_many_days(5)
print how_many_days(12)
print how_many_days(13)
print how_many_days("January")
非常感谢。
您可能不需要设置保障。只需尝试列表上的参数,看看它是否有效:
def how_many_days(month_number):
try:
return days_in_month[month_number - 1]
except TypeError:
print "Unrecognized number"
raise
except IndexError:
print "Doesn't exist"
raise
这遵循EAFP( e ASIER至 a sk sk for f f grogivess胜于 p p p ermission(哲学反对在跳跃之前。