這是《Python forEverybody》練習(xí) 9.2 中的一個(gè)問題我的問題是,為什么當(dāng) for 循環(huán)嵌套在 for 循環(huán)中時(shí),天數(shù)計(jì)數(shù)會(huì)發(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)嵌套時(shí),答案就變成了:{'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)驗(yàn) 獲得超4個(gè)贊
在第二個(gè)代碼中,內(nèi)部for
循環(huán)將一直運(yùn)行到外部循環(huán)的每次迭代。這意味著內(nèi)循環(huán)的主體將運(yùn)行多次。
這與第一個(gè)代碼的行為不同,第二個(gè) for 循環(huán)將在第一個(gè)循環(huán)運(yùn)行一次后運(yùn)行一次。
添加回答
舉報(bào)
0/150
提交
取消