发生异常:TypeError 不支持的操作数类型 -:'int' 和 'list'
Exception has occurred: TypeError unsupported operand type(s) for -: 'int' and 'list'
尝试制作基本文本地下城游戏时遇到以下错误:
“发生异常:TypeError
- 不支持的操作数类型:'int' 和 'list'"
以下错误来自这一行:MonsterHealth = Monster_One_Health - Move_Chooser
import random, math, sys, os, os.path, time
#These Variables are for the Player's Move DMG
Slash = 3.1
Dash = 2.5
Slam = 5
vars = [Slash,Dash,Slam]
Move_Chooser = random.sample(vars, 1)
MonsterHealth = Monster_One_Health - Move_Chooser
if vars == 2.5:
print("Player Has Used Dash Attack")
print("Monster[1] has taken 2.5 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
elif vars == 3.1:
print("Player has used Slash Attack")
print("Monster[1] has taken 3.1 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
elif vars == 5:
print("Player has used Slam Attack")
print("Monster[1] has taken 5 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
变量Move_Chooser
是list
的类型。
如错误消息所述,您无法对 list 和 int 操作运算符 -
,下次请包含您的所有代码,这样我们就不需要“猜测”您的代码,即使这次很明显.
看来你没有正确使用,random.sample
。因为您只需要一个元素,所以使用以下内容:
Move_Chooser = random.choice(vars)
random.choice
会给你一个列表中的随机元素。另一方面,random.sample
将 return 一个列表,这可能是您遇到的错误。
您的一个建议是使用另一个名称而不是 vars
,因为这是一个 python 内置函数 (see the docs)。
尝试制作基本文本地下城游戏时遇到以下错误:
“发生异常:TypeError - 不支持的操作数类型:'int' 和 'list'"
以下错误来自这一行:MonsterHealth = Monster_One_Health - Move_Chooser
import random, math, sys, os, os.path, time
#These Variables are for the Player's Move DMG
Slash = 3.1
Dash = 2.5
Slam = 5
vars = [Slash,Dash,Slam]
Move_Chooser = random.sample(vars, 1)
MonsterHealth = Monster_One_Health - Move_Chooser
if vars == 2.5:
print("Player Has Used Dash Attack")
print("Monster[1] has taken 2.5 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
elif vars == 3.1:
print("Player has used Slash Attack")
print("Monster[1] has taken 3.1 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
elif vars == 5:
print("Player has used Slam Attack")
print("Monster[1] has taken 5 Hearts of DMG")
time.sleep(2)
print(MonsterHealth)
变量Move_Chooser
是list
的类型。
如错误消息所述,您无法对 list 和 int 操作运算符 -
,下次请包含您的所有代码,这样我们就不需要“猜测”您的代码,即使这次很明显.
看来你没有正确使用,random.sample
。因为您只需要一个元素,所以使用以下内容:
Move_Chooser = random.choice(vars)
random.choice
会给你一个列表中的随机元素。另一方面,random.sample
将 return 一个列表,这可能是您遇到的错误。
您的一个建议是使用另一个名称而不是 vars
,因为这是一个 python 内置函数 (see the docs)。