Мне сложно рассчитать часть моей программы в Python.Расчеты в python
import random
CharacterOne= input("Enter the First players name:")
CharacterTwo= input("Enter the Second players name:")
ch1str=int(input(CharacterOne+" has a strength of:"))
ch1skl=int(input(CharacterOne+" has a skill of:"))
ch2str=int(input(CharacterTwo+" has a strength of:"))
ch2skl=int(input(CharacterTwo+" has a skill of:"))
strdif=int(ch1str-ch2str)
if strdif<0:
strdif=ch2str-ch1str
strmod=strdif//5
skldif=int(ch1skl-ch2skl)
if skldif<0:
skldif=ch2skl-ch1skl
sklmod=skldif//5
num1=random.randrange(1,6)
num2=random.randrange(1,6)
if num1>num2:
ch1str+=strmod
ch1skl+=sklmod
ch2str-=strmod
ch2skl-=sklmod
play1 = True
if num2>num1:
ch2str+=strmod
ch2skl+=sklmod
ch1str-=strmod
ch1skl-=sklmod
play1 = False
if ch1skl<0:
ch1skl=0
if ch2skl<0:
ch2skl=0
if ch1str=0:
print(CharacterOne+" is now dead")
if ch2str=0:
print(CharacterTwo+" is now dead")
if play1==True:
print(CharacterOne+" won this round, now has",ch1str,"strength and",ch1skl,"skill")
print(CharacterTwo+" lost this round, now has",ch2str,"strength and",ch2skl,"skill")
if play1==False:
print(CharacterTwo+" won this round, now has",ch2str,"strength and",ch2skl,"skill")
print(CharacterOne+" lost this round, now has",ch1str,"strength and",ch1skl,"skill")
Это код, по какой-то причине, когда я вхожу в себе силы и умения для обоих персонажей программа печатает то, что я вошел и оленья кожа на самом деле вычислить новую силу и мастерство, используя НТР и скл мод и МПИ.
Вы уверены, что 'strmod' и' sklmod' больше 0? 'ch1str + = strmod' ничего не сделает, если' strmod' равно нулю. – Kevin
Кроме того, у вас есть условие, в котором вы берете два случайных числа и сравниваете их. Вы не учитывали случай, когда два случайных числа одинаковы. В этом случае никаких изменений не будет. Вы также создали сценарий, в котором «CharacterOne теперь мертв» или «CharacterTwo теперь мертв» никогда не будет отображаться. Вы устанавливаете ch1str и ch2str равным нулю перед проверкой, находятся ли они ниже нуля. Зачем ты это делаешь? – Tadgh
Итак, как бы я выбрал два новых номера, если они получится одинаковыми? Могу ли я сделать другое заявление if? – Pikachu101