我正在尝试创建一个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;在不同的地方,试图看到它失败的地方,但我没有得到任何好结果。
答案 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)