我们的老师给我们分配了一个“密码”(不是登录名,基本上是创建一个始终等于日期的变量,然后创建一个“ if- else”变量,以便该变量等于date))>
您所看到的代码只是我尝试过的,我在网络上找不到任何内容。
import datetime
x = datetime.datetime.now()
xd=x.strftime("%d")
xm=x.strftime("%m")
xy=x.strftime("%Y")
Date = [xd,xm,xy]
password=input("what is the password?")
if password==Date:
print("well done")
else:
print("try again")
我没有语法错误
答案 0 :(得分:6)
您将以一种过于“分散”的方式进行处理。您可以一次将日期转换成字符串:
import datetime
x = datetime.datetime.now()
date = x.strftime("%d%m%Y") # will produce '05212019'
# alternatively: "%d,%m,%Y" would produce '05,21,2019' - you can customize this format
password = input("Enter the password. ")
if password == date:
print("Well done")
else:
print("Try again")
答案 1 :(得分:1)
第一个Date
是保留字,因此我建议使用date
。
date
是一个列表,password
是一个字符串,因此您需要将Date
更改为字符串
date = ''.join(date) # 21052019
OR
将password
更改为列表(假设输入类似21 05 2019
)
password = input("what is the password?").split(' ') # ['21', '05', '2019']
OR
不创建列表,仅使用datetime
date = x.strftime("%d%m%Y") # 21052016
答案 2 :(得分:0)
不确定要使用哪种格式,但是可以执行以下操作,然后修改格式,使其看起来完全符合您的需要:
>>> import datetime
>>> datetime.date.today().strftime("%B %d, %Y")
'May 21, 2019'
您可以更改为...
*.strftime("%B%d%Y")
...例如,如果您需要它来删除空格和逗号。
如果您需要使用不同格式的时间位,此站点https://www.programiz.com/python-programming/datetime/strftime的格式代码列表非常好(%h,%d,%y等)。
答案 3 :(得分:0)
现在,Date
是一个列表,password
是一个字符串。您需要更改一个以匹配另一个,否则它们将永远不会比较相等。
import datetime
x = datetime.datetime.now()
xd=x.strftime("%d")
xm=x.strftime("%m")
xy=x.strftime("%Y")
Date = xd+","+xm+","+xy
password=input("what is the password?")
if password==Date:
print("well done")
else:
print("try again")