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 ạ.