Первый код ,первая проблема

Решил сделать что-то вроде текстовой игры,просто для себя, чтобы как-то разобраться в Питоне. Как сделать оставшуюся прочность переменной? Чтобы следующий выстрел вычитался не из hp2=450, а из оставшийся прочности?

import random

N1 = "PzKpfw V Panther"
a = random.randint(0, 100)
b = random.randint(80, 120)
c = random.randint(75,105)
r = random.randint(0, 100)
br1=90
hp = 450
N2 = "т34-85"
d = random.randint(0,100)
e = random.randint(80,110)
f = random.randint(80,105)
br2=90
hp2= 450
if a<65:
    print ("PzKpfw V Panther делает выстрел")
    print ("Попадание")
if r<11:
    print ("Рикошет")
if b>br2 & r>11:
    print ("Броня "+str(N2)+" пробита!")
if b>br2 & r>11:
    print ("Нанесено " + str(c) + " урона") 
if b<br2:
    print ("Броня непробита")
if b>90 & r>11:
    print  ( "У " +str(N2)+" Осталось " "%.2f" % (hp2-c)+ " прочности") 

Ответы (2 шт):

Автор решения: n1tr0xs

Если я верно понял вопрос:

import random

N1 = "PzKpfw V Panther"
a = random.randint(0, 100)
b = random.randint(80, 120)
c = random.randint(75,105)
r = random.randint(0, 100)
br1=90
hp = 450
N2 = "т34-85"
d = random.randint(0,100)
e = random.randint(80,110)
f = random.randint(80,105)
br2=90
hp2= 450
_hp2=hp2
if a<65:
    print ("PzKpfw V Panther делает выстрел")
    print ("Попадание")
if r<11:
    print ("Рикошет")
if b>br2 & r>11:
    print ("Броня "+str(N2)+" пробита!")
if b>br2 & r>11:
    print ("Нанесено " + str(c) + " урона") 
    _hp2-=c # добавил
if b<br2:
    print ("Броня не пробита")
if b>90 & r>11:
    # либо можно сюда поставить     _hp2-=c
    print  ( "У " +str(N2)+" Осталось " "%.2f" % (_hp2)+ " прочности") 
→ Ссылка
Автор решения: MarianD

Вместо последних 2 комманд

if b>90 & r>11:
    print  ( "У " +str(N2)+" Осталось " "%.2f" % (hp2-c)+ " прочности")

используйте

if b>90 & r>11:
    hp2 = hp2 - c        # прежде всего обновить hp2; возможна короткая форма:  hp2 -= c
    print( "У " +str(N2)+" Осталось " "%.2f" % hp2+ " прочности")    # hp2 вместо (hp2-c)

Примечание:

Вы используете старый стиль форматирования — очень некрасиво для чтения.

Когда у вас Питон 3.6 или выше, примените форматирующую строку (буква f непосредственно перед открывающей кавычкой):

print(f"У {N2} осталось {hp2:.2f} прочности")

(в фигурных скобках — прямо имена переменных или выражения, формат за двоеточием, когда он нужен, str() совсем не надо).

Для низшей версия Питона, исключите f, вместо того добавите .format() и переменные перенесите в скобки — так:

print("У {} осталось {:.2f} прочности".format(N2, hp2))

(это будет работать вне зависимости от версии Питона — но не в очень, очень старых).

То же самое возможно сделать и в ваших других применениях функции print().

→ Ссылка