Не изменяется список

psi

Новичок
Пользователь
Авг 27, 2020
2
0
1
Имеется список, нижняя часть по идее должна менять значение ключа s, но чтото пошло не так и ничего не изменяется
exit=0
while exit==0:
a={
"s":0,
"z":0,
"m":0,
"l":0,
"t":30
}
s=int(a["s"])
z=int(a["z"])
m=int(a["m"])
l=int(a["l"])
t=int(a["t"])
print("Sila", s, "\nZdorove", z, "\nMudrost", m, "\nLovkost", l, "\nDostupno", t, "\n1 - uvelichit\n2 - umenshit")
vibor=input("Vvedite")
if vibor=="1":
change=int(input("naskolko"))
if change<=t:
schange=s+change
a["s"]=schange
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте через кнопку ... -> код -> python.
Изменение значения не видно в консоли потому, что на каждой итерации цикла заново создается словарь a. Чтобы изменения были видны - можно создавать словарь вне цикла.
 

psi

Новичок
Пользователь
Авг 27, 2020
2
0
1
Вынес, ничего не изменилось.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вынес, ничего не изменилось.
Значит не вынесли. Вот так значения изменяются:
Python:
exit = 0
a = {"s": 0, "z": 0, "m": 0, "l": 0, "t": 30}
while exit == 0:
    s = int(a["s"])
    z = int(a["z"])
    m = int(a["m"])
    l = int(a["l"])
    t = int(a["t"])
    print(
        "Sila",
        s,
        "\nZdorove",
        z,
        "\nMudrost",
        m,
        "\nLovkost",
        l,
        "\nDostupno",
        t,
        "\n1 - uvelichit\n2 - umenshit",
    )
    vibor = input("Vvedite")
    if vibor == "1":
        change = int(input("naskolko"))
    if change <= t:
        schange = s + change
        a["s"] = schange
 

Форум IT Специалистов