這是《Python forEverybody》練習(xí) 9.2 中的一個問題我的問題是,為什么當(dāng) for 循環(huán)嵌套在 for 循環(huán)中時,天數(shù)計數(shù)會發(fā)生變化?這是我的代碼,它提供了正確的答案:{'Sat': 1, 'Fri': 20, 'Thu': 6}file_name = input("Enter a file name: ")file_handle = open(file_name)day_count_list = []day_count_dict = dict()for line in file_handle: line = line.strip() if line.startswith("From "): line = line.split() day_counts = line[2] day_count_list.append(day_counts) for day in day_count_list: day_count_dict[day] = day_count_dict.get(day, 0) + 1print(day_count_dict)然而,當(dāng)for循環(huán)嵌套時,答案就變成了:{'Sat': 27, 'Fri': 330, 'Thu': 21}for line in file_handle: line = line.strip() if line.startswith("From "): line = line.split() day_counts = line[2] day_count_list.append(day_counts) for day in day_count_list: day_count_dict[day] = day_count_dict.get(day, 0) + 1
1 回答

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊
在第二個代碼中,內(nèi)部for
循環(huán)將一直運行到外部循環(huán)的每次迭代。這意味著內(nèi)循環(huán)的主體將運行多次。
這與第一個代碼的行為不同,第二個 for 循環(huán)將在第一個循環(huán)運行一次后運行一次。
添加回答
舉報
0/150
提交
取消