Python 有没有一种方法可以从类中的用户输入进行追加?
有没有一种方法可以实现用户输入来在我定义的这个类中创建一个新条目Python 有没有一种方法可以从类中的用户输入进行追加?,python,python-3.x,class,append,Python,Python 3.x,Class,Append,有没有一种方法可以实现用户输入来在我定义的这个类中创建一个新条目 class Pulsar: 'Collective base of all Pulsars' pulsarCount = 0 def __init__(self, name, distance): self.name = name self.distance = distance Pulsar.pulsarCount += 1 def displayCount(sel
class Pulsar:
'Collective base of all Pulsars'
pulsarCount = 0
def __init__(self, name, distance):
self.name = name
self.distance = distance
Pulsar.pulsarCount += 1
def displayCount(self):
print( "Total Pulsars %d" % Pulsar.pulsarCount)
def displayPulsar(self):
print( "Name : ", self.name, ", Distance: ", self.distance)
"This creates the first object"
pulsar1 = Pulsar("B1944+17", "979 Lightyears")
"This creates the second pulsar in the class"
pulsar2 = Pulsar("J2129-5721", "1305 Lightyears")
pulsar1.displayPulsar()
pulsar2.displayPulsar()
print( "Total Pulsars %d" % Pulsar.pulsarCount)
我希望用户能够输入他们自己的名称/距离,并将其附加到我当前定义的变量中。根据您对Pulsar对象所做的操作,一个类可能有点过头了
class Pulsar:
'Collective base of all Pulsars'
pulsarCount = 0
def __init__(self, name, distance):
self.name = name
self.distance = distance
Pulsar.pulsarCount += 1
def displayCount(self):
print( "Total Pulsars %d" % Pulsar.pulsarCount)
def displayPulsar(self):
print( "Name : ", self.name, ", Distance: ", self.distance)
"This creates the first object"
pulsar1 = Pulsar("B1944+17", "979 Lightyears")
"This creates the second pulsar in the class"
pulsar2 = Pulsar("J2129-5721", "1305 Lightyears")
pulsar1.displayPulsar()
pulsar2.displayPulsar()
print( "Total Pulsars %d" % Pulsar.pulsarCount)
# New code
users_name = input('Your name: ')
distance = input('The distance: ')
pulsar1.name = users_name
pulsar1.distance = distance
# Then you can wrap this in a function if you want
类脉冲星:
定义报告(自我)->str:
返回f'Pulsar({self.name!r},{self.distance!r})'
def uuu init uuu(self,distance:str,name:str)->无:
self.name:str=name
self.distance:str=距离
num_pulsar_input=int(输入('您希望创建多少脉冲星:'))
脉冲星列表=[]
对于范围内的(脉冲星数输入):
curr_p_name=输入('输入脉冲星名称:')
curr_p_dist=输入('输入脉冲星距离:')
curr_p=脉冲星(curr_p_名称,curr_p_dist)
脉冲星列表。附加(当前)
打印(脉冲星列表)
你不能只使用一个变量来获取输入()然后传递它吗?你应该创建一个Pulsar
实例列表,而不是将每个实例存储在一个命名变量中。添加实例可以通过使用list.append()
方法创建。所以您想创建(使用)数据库…?嗨,罗杰,我对类有点陌生,所以我不确定如何处理它们。input()变量是否会在类外部收集,然后接收,它是否会在正在运行的程序的多次迭代中工作?谢谢您的时间。脉冲星物体是否只包含名称和距离?对于pulsar_列表中的i来说,:print(i)
@noobninja preference?pulsar_列表
返回[,]
@noobninja啊,该死,因为打印容器使用内容的\urepr\uu
。我会修好的。谢谢你的检查,我简直不敢相信我自己没有测试它D:@noobninja应该可以,这次我测试了;)