Python相关问题-用户输入日期/N00B/



这是我的小Python项目:

from datetime import date
a_date = date(2020,5,1) 
b_date = date.today()
delta = b_date - a_date
print("Start date:", a_date)
print("Today is day:", delta.days +1)
if int(delta.days) <= 30:
print("Phase: Vegetation")
if int(delta.days) >= 30:
print("Phase: Flowering")

我的问题是:如何让用户输入";日期"?

感谢

您可以使用input((和datetime.date.fromisoformat((

对于Python 3.7及更高版本:

from datetime import date
a_date = date.fromisoformat(input("Enter a date (YYYY-MM-DD): "))
b_date = date.today()
delta = b_date - a_date
print("Start date:", a_date)
print("Today is day:", delta.days +1)
if int(delta.days) <= 30:
print("Phase: Vegetation")
if int(delta.days) >= 30:
print("Phase: Flowering")

对于Python 3.6及更早版本:

from datetime import date
def parse_date(date_input):
return date(int(a_date_input[:4]), int(a_date_input[5:7]), int(a_date_input[8:]))

a_date_input = input("Enter a date (YYYY-MM-DD): ")
a_date = parse_date(a_date_input)
b_date = date.today()
delta = b_date - a_date
print("Start date:", a_date)
print("Today is day:", delta.days +1)
if int(delta.days) <= 30:
print("Phase: Vegetation")
if int(delta.days) >= 30:
print("Phase: Flowering")

您可以使用python构建的it函数input()来完成此操作。在括号之间,我已经输入了将打印给用户的文本。

from datetime import date
a_date = input('Enter a date')
b_date = date.today()
delta = b_date - a_date
print("Start date:", a_date)
print("Today is day:", delta.days +1)
if int(delta.days) <= 30:
print("Phase: Vegetation")
if int(delta.days) >= 30:
print("Phase: Flowering")

最新更新