這是我的程序。關於如何讓整個事物循環的任何想法,但只有當輸入不正確時我已經爲範圍設置了一個大整數,但我無法弄清楚在哪裏以及如何設置條件來實現它。到目前爲止我嘗試過的所有東西都給了我一個錯誤。任何幫助將不勝感激。Python中循環3
def main():
for i in range(1000):
date = (input("enter the date as dd/mm/yyyy: "))
try:
datetime.datetime.strptime(date,"%d/%m/%Y")
print ("Format is Correct")
except:
ValueError
print ("Format is Incorrect")
date = day, month, year = date.split("/")
if len(day) == 1 or len(day) == 2:
day = int(day)
if len(month) == 1 or len(month) == 2:
month = int(month)
months = ["emp", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec"]
if len(year) == 4:
year = int(year)
if 1899 < year < 3001:
if year % 100 == 0:
if year % 400 == 0:
print ("It's a leap year")
else:
print ("It is not a lea[ year")
else:
if year % 4 == 0:
print ("It's a leap year")
else:
print ("It is not a leapyear")
else:
print ("The year is not in range")
if month > 12 or month < 0:
print ("The month is out of range")
elif month == 4 or month == 6 or month == 9 or month == 11:
if day > 30:
print ("The date is out of range for the month")
elif month == 2:
if day > 29:
print ("The date is out of range for the month")
print(day, months[month], year)
main()
不要與你的循環一個大的整數使用。你可以使用'while(condition)'做你的東西,並且設置好條件,你甚至不需要在你的循環中使用'continue'關鍵字,但是在你的程序中使用它是個壞主意。 –
@HamidFzM你可以舉一個如何在這個特定情況下使用while循環的例子嗎? – Manaar