背景 -
我是一個新手,有一個函式的目標是在我的程式中的其他函式中使用之前,在各自的串列中獲取和存盤 4x 用戶輸入。
問題-
雖然我已經能夠包裹entities_list并views_list在[]讓他們保存在串列中,當我試圖同樣的邏輯適用于start_date并end_date和運行功能,我得到了TypeError: strptime() argument 1 must be str, not list。
我試圖通過使用list(). (例如,start_date = list(start_date))。這種方法的問題在于,串列然后將輸入日期中的每個字符作為串列中的單個值輸出。例如,如果用戶輸入2020-01-01串列是['2', '0', '2', '0', '-', '0', '1', '-', '0', '1']
我如何確保串列包含完整的用戶輸入日期?例如 ['2', '0', '2', '0', '-', '0', '1', '-', '0', '1']變成['2020-01-01']。提前感謝您的任何提示!
代碼(功能齊全)-
def user_inputs():
while True:
try:
entities_list = [int(x) for x in input("Entities for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
while True:
try:
views_list = [int(x) for x in input("Views for API Call:\n").split(', ')]
except ValueError:
print("---ERROR: MUST BE COMMA SEPERATED VALUES---")
continue
break
while True:
try:
start_date = input("Enter time in this format yyyy-mm-dd")
time=datetime.datetime.strptime(start_date, "%Y-%m-%d")
start_date = list(start_date)
except ValueError:
print("---ERROR: MUST BE YYYY-MM-DD FORMAT ---")
continue
break
while True:
try:
end_date = input("Enter time in this format yyyy-mm-dd")
time=datetime.datetime.strptime(end_date, "%Y-%m-%d")
end_date = list(end_date)
except ValueError:
print("---ERROR: MUST BE YYYY-MM-DD FORMAT ---")
continue
break
return entities_list, views_list, start_date, end_date
user_inputs()
uj5u.com熱心網友回復:
我如何確保串列包含完整的用戶輸入日期?例如 ['2', '0', '2', '0', '-', '0', '1', '-', '0', '1'] 變成 ['2020-01-01 ']。
您可以使用join() 方法,然后將回傳的字串包裝在串列中。
["".join(myList)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/363567.html
下一篇:如何從字串創建日期時間物件?
