如何使变量在python中相互减去

时间:2016-02-13 16:53:11

标签: python

我试图进行基本的RNG战斗,所以人们可以复制并粘贴它并用于我们学校的游戏,但我需要帮助。

import random
print("Your Weapon's Stats")
print("         /^\\        ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("       \\\=*=//      ")
print("          |          ")
print("         (+)         ") 
print("(+)~~~~~~~~~~~~~~~(+)")
print(" | Damage:         | ")
print(" | 1-9             | ") 
print(" | Attack Speed:   | ")
print(" | 6/10            | ")
print(" | Critical Chance:| ") 
print(" | 64%             | ")
print("(+)~~~~~~~~~~~~~~~(+)")
your_damage = random.choice("12345789")
enemy_health = 20
enemy_health - your_damage <---it says that not right so what do I do?
print(enemy_health)

2 个答案:

答案 0 :(得分:1)

您需要使用-=运算符从your_damage中减去enemy_health

enemy_health -= your_damage

这相当于写enemy_health = enemy_health - your_damage

您还想将random.choice("12345789")更改为random.randint(1, 9)。这将选择19之间的随机整数,从而确保your_damage是数字而不是字符串。

您的代码应为:

import random

print("Your Weapon's Stats")
print("         /^\\        ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("         | |         ")
print("       \\\=*=//      ")
print("          |          ")
print("         (+)         ")
print("(+)~~~~~~~~~~~~~~~(+)")
print(" | Damage:         | ")
print(" | 1-9             | ")
print(" | Attack Speed:   | ")
print(" | 6/10            | ")
print(" | Critical Chance:| ")
print(" | 64%             | ")
print("(+)~~~~~~~~~~~~~~~(+)")

your_damage = random.randint(1, 9)
enemy_health = 20
enemy_health -= your_damage

print(enemy_health)

答案 1 :(得分:0)

您实际上并未将新值分配给enemy_health,因此您希望这样做:

enemy_health = enemy_health - your_damage

使用-=运算符可以简化。

所以:

enemy_health -= your_damage

评论您对random.choice的使用情况。您几乎正在尝试做什么,但是,您想要使用整数列表而不是一串数字。所以你可以这样做:

random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

更好:

random.choice(range(1, 10))