Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的If语句_Python_If Statement - Fatal编程技术网

Python中的If语句

Python中的If语句,python,if-statement,Python,If Statement,好的,这应该是一个相对简单的问题。当我运行程序时,我注意到损坏整数并没有传递到应用的if语句的损坏。但在损坏之前,它会正常工作。我如何将损坏整数带到第二个if语句,或者我应该重写整个部分 elif menu_option == 2: print "Damage Taken?" Damage = int(raw_input(prompt)) print "Where would you like damage to be applied?" print "1. H

好的,这应该是一个相对简单的问题。当我运行程序时,我注意到损坏整数并没有传递到应用的if语句的损坏。但在损坏之前,它会正常工作。我如何将损坏整数带到第二个if语句,或者我应该重写整个部分

elif menu_option == 2: 
    print "Damage Taken?"
    Damage = int(raw_input(prompt))
    print "Where would you like damage to be applied?"
    print "1. HP"
    print "2. CP"
    print "3. Armor"

    Damage_Applied = int(raw_input(prompt))

    if Damage_Applied == 1:
        HP = HP - Damage
    elif Damage_Applied == 2:
        CP = CP - Damage
    elif Damage_Applied == 3:
        Armor = Armor - Damage
您需要定义:-

  • 惠普
  • CP
  • 盔甲
在Python中,要从另一个值中减去一个值,需要同时具有这两个值。目前,在您的代码中,HP=None不是一个数值,因此需要将HP定义为一个数值(同样适用于CP和Armor),因此我们将其定义为100,如下所示:-

HP = 100
我们还需要使用CP和装甲来实现这一点,比如:-

CP = 100
Armor = 100
很明显,你可以把100换成你喜欢的任何东西,它仍然可以工作

完整代码如下所示:-

CP = 100
Armor = 100
Python3.x Python2.x 该代码应该可以工作。如果您需要任何帮助,请直接联系我'aaron@dibdibguy.com"


享受你的新代码

在你的内部
语句中,如果你仍然在
elif
语句中,
Damage
应该有一个值。对我有效(使用较小的mods以允许程序的其余部分不包括在内)。您是否收到一个错误,说损坏无法解决,或者您只是注意到了程序的错误行为?毫无意义,对于同一操作,它们是不同的语法。可能是您在测试此代码时未在(1,2,3)
中应用
Damage\u?
elif menu_option == 2:
    HP= 100 #Defining 'HP'
    CP = 100 #Defining 'CP'
    Armor = 100 #Defining 'Armor'
    #For future reference, make sure ALL variables used in an 
    #if statement are defined before using them

    print "Damage Taken?"
    Damage = int(raw_input(prompt))
    print "Where would you like damage to be applied?"
    print "1. HP"
    print "2. CP"
    print "3. Armor"

    Damage_Applied = int(raw_input(prompt))

    if Damage_Applied == 1:
        HP = HP - Damage
    elif Damage_Applied == 2:
        CP = CP - Damage
    elif Damage_Applied == 3:
        Armor = Armor - Damage