我從頭開始學習Python,因爲我沒有太多編碼背景。在這個特別的練習中,我被賦予了一個文本文件的任務,刪除空格和逗號,然後將它打印成七行(我已經完成)。現在,我完成了任務,我需要顯示真實,在每行之前增加單個int之前的時間,同時在讀取'空白空白'的行上添加一天。If If語句的問題
我試過幾種方法,似乎無法同時出現兩種標準。這是我寫的代碼:
from datetime import datetime
from datetime import timedelta
with open("C:\Users\curnutte\Desktop\Assignment\Python Scripts\Python example\RandomFile.txt", "r") as inp:
with open("C:\Users\curnutte\Desktop\Assignment\Python Scripts\Python example\RandomFileOutput.txt", "w") as outp:
clock = datetime.now()
for line in inp.readlines():
total = 0
line = line.strip()
parts = line.split(",")
for part in parts:
try:
num = int(part)
total += num
except ValueError:
total = (" ".join(parts))
break
#for line in inp:
if total == int:
total_time = clock + timedelta(seconds = 1)
print (clock + timedelta (seconds = 1))
else:
total_time = clock + timedelta(days = 1)
print (clock + timedelta (days = 1))
outp.write("%s: " % total_time)
outp.write('{}\n'.format(total))
這裏是 'RandomFile:'
1,2
2,3
3,4
4,5
blank,blank
5,6
6,7
隨着我所提供的代碼,這裏是 'RandomFileOutput' 我收到:
2016-06-28 13:47:56.106000:13
直到我添加了最後一個if,else語句我收到的輸出是:
2016-06-28 13:51:19.709000: 3
2016-06-28 13:51:19.709000: 5
2016-06-28 13:51:19.709000: 7
2016-06-28 13:51:19.709000: 9
2016-06-28 13:51:19.709000: blank blank
2016-06-28 13:51:19.709000: 11
2016-06-28 13:51:19.709000: 13
任何人都可以闡明我做錯了什麼?
'總數是什麼== int'應該這樣做?我沒有看到你在哪裏分配(隱藏)內置的'int'函數,我不明白爲什麼你的'總數'會與它相等嗎? –
'if total == int'?你是否試圖測試總數是否大於0? – danidee
它應該是如果類型(總)是int ?,否則它是一串零件? –