繁体   English   中英

做一个 python 代码,在为字符串设置条件时需要帮助

[英]doing a python code and am in need of help in setting up conditions for a string

基本上我正在做一个python代码,其中完整的日期以DD-YY-MM格式的字符串输入,然后分别输出日、月和年。 我需要验证输入的日期,以便满足以下条件:

  1. 日期不低于 1 或超过 31
  2. 月份在 1 到 12 的范围内
  3. 年份不少于 1900
FullDate=input("enter todays date")

D=FullDate[0:2]
M=FullDate[3:5]
Y=FullDate[6:10]

if D>31 and D<1:
    print ("invalid date")
else:
    print("the date is",D)

if M<1 and M>12:
    print("invalid month")
else:
    print("the date is",M)

if Y<1990:
    print ("invalid year")
else:
    print("the year is",Y)

这是我尝试过的,但是由于日期是作为字符串输入的,因此我不能在 if 条件中使用 > 和 < 并且当我这样做时出现错误:

类型错误:“str”和“int”的实例之间不支持“>”

如何在将输入作为字符串的同时设置这些条件?

您必须将字符串显式转换为 int :

import sys
FullDate=input("enter todays date")
D=FullDate[0:2]
M=FullDate[3:5]
Y=FullDate[6:10]

if int(D)>31 or int(D)<1:
    sys.exit("invalid day")
else:
    print("the day is",D)

if int(M)<1 or int(M)>12:
    sys.exit("invalid month")
else:
    print("the month is",M)

if int(Y)<1990:
    sys.exit("invalid year")
else:
    print("the year is",Y)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM