如何在验证日期和月份时修复我的if条件

2024-03-28 15:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

def user_input_validation(user_input_month , user_input_day):
 if user_input_month < 1 or user_input_month > 12 :
  valid_month = False
  print ("Invalid month. Please enter a number between 1-12")
 else :
  valid_month = True
 if user_input_day  < 1 or user_input_day > 31 : 
  valid_day = False
  print ("Invalid day. Please enter a number between 1-12")
 else :
  valid_day = True 
 if valid_month=True and valid_day = True :
   return True

我的错误按摩 文件“”,第13行 如果有效月=真,有效日=真: ^ SyntaxError:无效语法


3条回答

这是正确的:将“=”替换为“=”。因为您正在检查未分配

def user_input_validation(user_input_month , user_input_day):
     if (user_input_month < 1 or user_input_month > 12 :
      valid_month = False
      print ("Invalid month. Please enter a number between 1-12")
     else :
      valid_month = True
     if user_input_day  < 1 or user_input_day > 31 : 
      valid_day = False
      print ("Invalid day. Please enter a number between 1-12")
     else :
      valid_day = True 
     if valid_month==True and valid_day == True :
       return True

在if语句中,我们应该使用double== 正确的语法是

如果有效月==真,有效日==真:

通常=用于赋值,而==用于检验相等性。也就是说,您可以简化逻辑(并增加缩进):

def user_input_validation(user_input_month, user_input_day):
    valid_month = 1 <= user_input_month <= 12
    valid_day = 1 <= user_input_day <= 31
    if not valid_month:
        print("Invalid month. Please enter a number between 1-12") 
    if not valid_day:
        print("Invalid day. Please enter a number between 1-31")
    return valid_month and valid_day

相关问题 更多 >