2013-07-04 46 views
3

它告诉我在第19行左边的报价上有一个无效的语法: year = int(input(“Enter year:”)) while while(year < 1900 or year> 2100) : 打印“错误超出范围,请重新输入”星期几程序Python3

我真的不知道它是什么。它用引号括起来,但缩进看起来很好,也是括号。我什么都试过有,但我不知道

我的计划:

def isLeapYear(year): 

    if year % 400 == 0: 
     return True 
    elif year % 100 == 0: 
     return False 
    elif year % 4 ==0: 
     return True 
    else: 
     return False 

def conversion(month): 
    conversionmonth = (month + 10) % 12 
    return conversionmonth 

def main(): 

    year = int(input("Enter year: ")) 
    while (year < 1900 or year > 2100): 
    print"Error out of range. Please re-input" 
    year = int(input("Enter year: ")) 
    if isLeapYear(year): 
    print "is a leap year" 
    else: 
    print "is not a leap year" 


    month = int(input("Enter month: ")) 
    month = conversion(month) 
    while (month < 1 or month > 12) 
     print "Error out of range. Please re-input" 
     month = int(input("Enter month: ") 

    day = int(input("Enter day: ")) 
    while (day < 1 or input > 31) 
     if month == February and day > 29: 
     print "Error out of range. Please re-input" 
     day = int(input("Enter day: ") 
     if isLeapYear and day > 28: 
     print "Error out of range. Please re-input" 
      day = int(input("Enter day: ") 
    print "Error out of range. Please re-input" 
     day = int(input("Enter day: ") 

    a = month 
    b = day 
    c = year 
    d = year // 100 
    w = (13 * a - 1) // 5 
    x = c // 4 
    y = d // 4 
    z = w + x + y + b + c - 2 * d 
    r = z % 7 
    r = (r + 7) % 7 
    if (r == 0): 
     print "Sunday" 
    if (r == 1): 
     print "Monday" 
    if (r == 2): 
     print "Tuesday" 
    if (r == 3): 
     print "Wednesday" 
    if (r == 4): 
     print "Thursday" 
    if (r == 5): 
     print "Friday" 
    if (r == 6): 
     print "Saturday" 

main() 
+0

我不能真正告诉从这种格式的缩进,是'print'错误“...'部分在while循环下正确缩进? –

回答

2

在Python 3,print是一个函数,你有什么要这样称呼它

print("Error out of range. Please re-input") 
+0

啊耶修复,谢谢 –