تغییر مقدار در دیکشنری پایتون - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تغییر مقدار در دیکشنری پایتون

0 امتیاز

سلام.در کد زیر مقدار(value)  رو تغییر دادم و همان لحظه در همان بلاک تغییر کرد،ولی وقتی دوباره حلقه تکرار می شود،تغییرات در ابتدای حلقه  اعمال نمی شود

while True:    
    airplane_ticket = {'Berlin':'','price':'$700', 'available':5}   
    print(airplane_ticket)  
    name_ticket = input('please enter the name of city you want to reserved its ticket: ')  
    if name_ticket == 'Berlin':
        number = int(input('How many tiket you need: '))    
        airplane_ticket['available'] -= number

 

 
 
سوال شده مهر 17, 1402 بوسیله ی بی نام  
ویرایش شده مهر 19, 1402 بوسیله ی مصطفی ساتکی

1 پاسخ

0 امتیاز
 
بهترین پاسخ

مشکل کد شما این است که در هر دور از حلقه، دیکشنری airplane_ticket را دوباره مقداردهی می‌کنید. بنابراین، تغییراتی که در یک دور حلقه اعمال می‌کنید، در دور بعدی حلقه بازنویسی می‌شود. برای حل این مشکل، باید خط تعریف دیکشنری را خارج از حلقه ببرید. به این صورت:

airplane_ticket = {'Berlin':'','price':'$۷۰۰', 'available':۵}
while True:    
    print(airplane_ticket)  
    name_ticket = input('please enter the name of city you want to reserved its ticket: ')  
    if name_ticket == 'Berlin':
        number = int(input('How many tiket you need: '))    
        airplane_ticket['available'] -= number

با این تغییر، تغییراتی که در هر دور حلقه به airplane_ticket اعمال می‌کنید، در دورهای بعدی حفظ خواهد شد.

 

پاسخ داده شده مهر 19, 1402  بوسیله ی ابید (امتیاز 781)   19 89 106
...