嘿,伙计们,我有这个用户输入,当它被输入后,它将它添加到一个列表中,并将它从最新的条目中排序到它之前的条目中,然后打印它。我想做的是对每个用户条目添加时间和日期,这样我就知道输入是什么时候输入的。现在它所做的是重新安排日期和时间条目,因此格式在列表中不可读。有谁知道如何阻止这种情况的发生,但仍然被附加到每个条目的列表,所以它是正确的格式?非常感谢
from datetime import datetime
def status():
all_status_updates = []
today = datetime.now()
while True:
stat = input("Type Status Update Here...\n")
if stat != "exit":
#all_status_updates.append(stat)
all_status_updates.extend((today, stat))
print(all_status_updates[::-1])
elif stat == "exit":
break
status()
问题来源StackOverflow 地址:/questions/59383098/add-date-time-to-list-without-it-re-ordering-the-date-and-time-value
目前,您的代码在while循环之外实例化datetime。这意味着每次您向输入字段中输入一个新字符串时,它将获取预先设置的日期时间,而不是创建一个新字符串。简单解决办法:
from datetime import datetime
def status():
all_status_updates = []
while True:
stat = input("Type Status Update Here...\n")
if stat != "exit":
today = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
all_status_updates.extend((today, stat))
print(all_status_updates[::-1])
elif stat == "exit":
break
status()
我还添加了.strftime("%d/%m/%Y %H:% m:%S")后缀,使datetime更易于阅读。你可以根据自己的需要修改这些修改器。 在上面的代码示例中,只有在用户输入一个非“exit”的文本字符串时才调用datetime。你也可以把它放到while循环的主体中,但是大多数时候它都不会被使用。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。