[英]How would I limit the user input() to only entering data once per day? I was thinking maybe the datetime stamp but unsure how to implement this
這是我檢索用戶輸入的代碼:
def inputQ1():
while True:
try:
Q1A = int(input("Rate your exercise today on scale 1-100: "))
except ValueError:
print("invalid value")
continue
else:
return Q1A
以及我將輸入記錄到列表中的代碼:
ansQ1 = []
ansQ1.append(inputQ1())
print(ansQ1)
我現在如何再次要求這個用戶輸入,每天一次?
您可以使用datetime.datetime.now()
:
from datetime import datetime
def inputQ1():
while True:
try:
Q1A = int(input("Rate your exercise today on scale 1-100: "))
except ValueError:
print("invalid value")
continue
else:
return Q1A
dates = []
ansQ1 = []
while True:
today = datetime.now().strftime("%Y-%m-%d")
if today not in dates:
ansQ1.append(inputQ1())
dates.append(today)
print(ansQ1)
其中datetime.now().strftime("%Y-%m-%d")
返回從2020-05-21
的當前日期。
需要注意的一點是,依賴try
並不是一個很好的做法, except
將輸入轉換為int
。 相反,使用str.isdigit()
方法:
def inputQ1():
while True:
Q1A = input("Rate your exercise today on scale 1-100: ")
if Q1A.isdigit():
return int(Q1A)
print("invalid value")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.