Em hiện tai đang học về python trên trường và có thắc mắc như sau:
Theo em biết thì mọi vòng lặp for trong python đều có thể chuyển sang while. Trong quá trình học về kiểu dictionary thì để duyệt từng giá trị của các key trong dict thì em dùng hàm for.
Như ở bài dưới:
Viết chương trình python để cộng giá trị các phần tử có key giống nhau từ 2 dict cho trước.
Ví dụ nhập vào:
d1 = {'a': 15, 'b': 20, 'c':30, 'e': 60 }
d2 = {'a': 30, 'b': 20, 'd':50}
Kết quả đầu ra:
{'a': 45, 'b': 40, 'd': 50, 'c': 30, 'e': 60}
Thì để giải quyết bài này em dùng vòng for như sau:
d1 = {'a': 15, 'b': 20, 'c':30, 'e': 60 }
d2 = {'a': 30, 'b': 20, 'd':50}
d3 = d1.copy()
for key in d2.keys():
d3[key] = d3.get(key,0) + d2[key]
print(d3[key])
print(d3)
Em muốn hỏi có cách giải quyết bài theo vòng while không ạ? Em đã thử test n lần mà chưa giải được nên mong anh chị có thể giải đáp bài hoặc cho em gợi ý để hoàn thành các bài dạng này theo n cách ạ. Em cảm ơn nhiều ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?