使用日期python的输入
我试图用Python3编写一个简单的代码,显示输入月份、年份和日期的日期。代码如下:使用日期python的输入,python,python-3.x,Python,Python 3.x,我试图用Python3编写一个简单的代码,显示输入月份、年份和日期的日期。代码如下: from datetime import date s = date(2016, 4, 29).weekday() if s == 0: print ("mon") if s == 1: print ("tue") if s == 2: print ("wed") if s == 3: print ("thurs") if s == 4: print ("fri") i
from datetime import date
s = date(2016, 4, 29).weekday()
if s == 0:
print ("mon")
if s == 1:
print ("tue")
if s == 2:
print ("wed")
if s == 3:
print ("thurs")
if s == 4:
print ("fri")
if s == 5:
print ("sat")
if s == 6:
print ("sun")
上面的代码是有效的,但我试着去做
from datetime import date
s = date(int(input())).weekday()
if s == 0:
print ("mon")
if s == 1:
print ("tue")
if s == 2:
print ("wed")
if s == 3:
print ("thurs")
if s == 4:
print ("fri")
if s == 5:
print ("sat")
if s == 6:
print ("sun")
因此,我可以让用户输入他们自己的日期,但它给了我以下错误:
Traceback (most recent call last):
File "..\Playground\", line 2, in <module>
s = date(int(input())).weekday()
ValueError: invalid literal for int() with base 10: '2016,'
回溯(最近一次呼叫最后一次):
文件“.\playerd\”,第2行,在
s=日期(int(input())。工作日()
ValueError:以10为基数的int()的文本无效:“2016,”
如果有帮助的话,我使用了输入2016、4、29。您可以:
from datetime import date
usr_date = [int(x) for x in input().split(",")]
d = date(usr_date[0], usr_date[1], usr_date[2]).weekday()
print (d)
datetime.date()。这意味着我们必须:
- 用逗号拆分
input()
返回的字符串,得到三个部分
- 将每个部分转换为整数
- 将这些部分输入到
datetime.date()
如果你问我,这更有意义:
from datetime import datetime
d = datetime.strptime(input(), '%Y,%m,%d').weekday()
print(d)
datetime.strtime()
将字符串作为输入,这很方便,因为input()
恰好返回字符串。这意味着不需要拆分和强制转换/转换。您可以在中找到strtime()
支持的所有不同日期格式。可能重复的2016,4,29
不是有效的整数。