Python对象创建和变量使用
我正在尝试制作一个python脚本,它将提示用户输入两个浮点值,并使用输入执行计算。在我进入这一部分之前,我很难理解如何创建一个对象并访问它 我从一个叫做FightingForce的简单物体开始学习这个概念,我只是为创建一个这样的物体并尝试打印它而接受输入 我的问题是如何获取用户输入并将其存储为FightingForce对象,以便在方程式中使用Python对象创建和变量使用,python,python-2.7,Python,Python 2.7,我正在尝试制作一个python脚本,它将提示用户输入两个浮点值,并使用输入执行计算。在我进入这一部分之前,我很难理解如何创建一个对象并访问它 我从一个叫做FightingForce的简单物体开始学习这个概念,我只是为创建一个这样的物体并尝试打印它而接受输入 我的问题是如何获取用户输入并将其存储为FightingForce对象,以便在方程式中使用 # Create a fighting force object class FightingForce(object): size = 0
# 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')
#创建战斗部队对象
类战斗力(对象):
大小=0
致死率=0
#类构造函数/初始化器
定义初始(自身、大小、杀伤力系数):
self.size=大小
self.lethalitycieffect=致死效率
def制造战斗力(大小、杀伤力系数):
战斗力=战斗力(大小、杀伤力系数)
还击部队
#禁止用户输入除浮动以外的任何内容
尽管如此:
尝试:
#提示用户输入和设置变量
大小=浮动(原始输入('输入兵力:'))
致死率系数=浮动(原始输入('输入致死率系数:'))
除值错误外:
打印(“请输入一个大于零的浮点整数”)
持续
其他:
打破
#向用户显示结果
打印(战斗力大小)
原始输入(“按下退出”)
目前,我的代码将请求两个输入,并在输入后立即关闭。我曾尝试将“原始输入('Press to exit')”放在不同的位置,试图看看它在哪里失败,但我没有得到任何好的结果。您正在function
make_fightingForce中创建一个类的对象,并从那里返回它。只需调用此函数并获取其返回值即可使用它
将最后几行更改为:
print(make_fightingForce(size, lethalityCoefficient).size)
您正在函数make_fightingForce
中创建该类的对象,并从中返回该对象。只需调用此函数并获取其返回值即可使用它
将最后几行更改为:
print(make_fightingForce(size, lethalityCoefficient).size)
只需在循环中实例化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)
只需在循环中实例化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)
这适用于创建单个对象,我对您的帮助投了赞成票(谢谢!),但我希望能够基于循环计数器的值创建多个对象。这在您最初的问题中并不明显。“循环计数器”是什么意思?@alan,如果最初的问题没有提到我要带它去哪里,那我很抱歉。我想基本上创建fightingForce+str(x),其中x随着循环迭代次数的增加而增加。然后,我希望能够进行fightingForce1.size、fightingForce2.size等操作。这对创建单个对象有效,我对您的帮助投了赞成票(谢谢!),但我希望能够基于循环计数器的值创建多个对象。这在您最初的问题中并不明显。“循环计数器”是什么意思?@alan,如果最初的问题没有提到我要带它去哪里,那我很抱歉。我想基本上创建fightingForce+str(x),其中x随着循环迭代次数的增加而增加。然后我想做战斗力1.size,战斗力2.size,等等。这回答了我原来的问题,非常感谢。我正在尝试通过循环创建多个fightingForce对象。如果循环执行了2次,我将尝试创建fightingForce1和fightingForce2。。。再次感谢。如果您试图创建多个FightingForce对象,则应首先提示用户要创建多少。然后,此循环的每次迭代都应创建一个新的FightingForce对象,并将其添加到包含所有FightingForce对象的列表中。当列表中包含用户想要的尽可能多的FightingForce对象时,打破循环。好主意,我正在试图找出如何在此时制作其中两个对象,然后我将继续努力。我已经成功了,我欠你和yeniv多谢!直到下次。这回答了我原来的问题,非常感谢。我正在尝试通过循环创建多个fightingForce对象。如果循环执行了2次,我将尝试创建fightingForce1和fightingForce2。。。再次感谢。如果您试图创建多个FightingForce对象,则应首先提示用户要创建多少。然后,此循环的每次迭代都应创建一个新的FightingForce对象,并将其添加到包含所有FightingForce对象的列表中。当列表中包含用户想要的尽可能多的FightingForce对象时,打破循环。好主意,我正在试图找出如何在此时制作其中两个对象,然后我将继续努力。我已经成功了,我欠你和yeniv多谢!直到下次。