Python对象创建和变量使用

时间:2017-04-28 04:16:47

标签: python python-2.7

我正在尝试创建一个python脚本,它将提示用户输入两个输入浮点数并使用输入执行计算。在我开始讨论该部分之前,我无法理解如何创建对象并访问它。

我开始简单只用一个名为FightingForce的对象来学习我只是输入创建其中一个对象并尝试打印它的概念。

我的问题是如何获取用户输入并将其存储为FightingForce对象,可以在等式中使用?

# Create a fighting force object
class FightingForce(object):
    size = 0
    lethalityCoefficient = 0

    # Class constructor/initilizer
    def __init__(self, size, lethalityCoefficient):
        self.size = size
        self.lethalityCoefficient = lethalityCoefficient

def make_fightingForce(size, lethalityCoefficient):
    fightingForce = FightingForce(size, lethalityCoefficient)
    return fightingForce

# Prevent user from inputting anything other than a float
while True:

    try:
        # Promt user for input and set variables
        size = float(raw_input('Enter the amount of troops: '))
        lethalityCoefficient = float(raw_input('Enter the lethality coefficient: '))

    except ValueError:
        print("Please input a floating point integer greater than zero")
        continue

    else:
        break

# Display results to user
print(fightingForce.size)
raw_input('Press <ENTER> to exit')

目前我的代码会询问两个输入,并在输入后立即关闭。我试过放置&#34; raw_input(&#39;按退出&#39;)&#34;在不同的地方,试图看到它失败的地方,但我没有得到任何好结果。

2 个答案:

答案 0 :(得分:2)

您正在函数make_fightingForce中创建该类的对象并从那里返回它。只需调用此函数并获取其返回值即可使用它。

将最后一行更改为:

print(make_fightingForce(size, lethalityCoefficient).size)

答案 1 :(得分:1)

只需在循环中实例化一个FightingForce对象的实例

while True:
    try:
        size = float(raw_input('Enter the amount of troops: '))
        lethalityCoefficient = float(raw_input('Enter the lethality coefficient: '))
        fightingForce = make_fightingForce(size, lethalityCoefficient)
        break
    except ValueError:
        print("Please input a floating point integer greater than zero")
print(fightingForce.size)