Python 打印输出时显示无
我编写了以下程序来演示类对象列表。它将三个对象的名称和分数作为输入,然后存储到一个列表中,最后程序显示所有信息,即与对象关联的名称和分数Python 打印输出时显示无,python,Python,我编写了以下程序来演示类对象列表。它将三个对象的名称和分数作为输入,然后存储到一个列表中,最后程序显示所有信息,即与对象关联的名称和分数 class Info: def __init__(self, name, score): self.name = name self.score = score def display(self): print(f"Name :- {self.name}, Score :- {self.sco
class Info:
def __init__(self, name, score):
self.name = name
self.score = score
def display(self):
print(f"Name :- {self.name}, Score :- {self.score}")
game_info = []
for i in range(3):
n = input("Enter Your Name :- ")
s = int(input("Enter Your Score :- "))
game_info.append(Info(n, s))
print()
for i in range(3):
print(game_info[i].display())
print()
输出:-
Enter Your Name :- a
Enter Your Score :- 1
Enter Your Name :- b
Enter Your Score :- 2
Enter Your Name :- c
Enter Your Score :- 3
Name :- a, Score :- 1
None
Name :- b, Score :- 2
None
Name :- c, Score :- 3
None
每次我尝试打印值时,输出都显示
None
。那么我应该怎么做才能从程序输出中删除它呢?display
函数不返回任何内容。因此它默认为None
。
所以
打印您的预期输出。但这意味着None
print(game_info[i].display())
您可以更改显示
功能
return f"Name :- {self.name}, Score :- {self.score}".
编辑:正如roganjosh指出的,我的描述不够清晰。从game_info[i]中取出print()函数。最后一个for循环中的display()将解决此问题
class Info:
def __init__(self, name, score):
self.name = name
self.score = score
def display(self):
print(f"Name :- {self.name}, Score :- {self.score}")
game_info = []
for i in range(3):
n = input("Enter Your Name :- ")
s = int(input("Enter Your Score :- "))
game_info.append(Info(n, s))
print()
for i in range(3):
game_info[i].display()
print()
输出:
Enter Your Name :- Bob
Enter Your Score :- 1
Enter Your Name :- Jane
Enter Your Score :- 2
Enter Your Name :- Sally
Enter Your Score :- 3
Name :- Bob, Score :- 1
Name :- Jane, Score :- 2
Name :- Sally, Score :- 3
使用返回函数
return("Name :- {}, Score :- {}".format(self.name,self.score))
因为
game\u info[i].display()
打印返回值将print(game\u info[i].display())
更改为仅game\u info[i].display()。display()
方法打印您想要的结果,但没有return
值,因此返回None
。这意味着print(game_info[i].display())
然后变成print(None)
可能与添加的我的输出重复。如您所见,您只需删除游戏信息[i].display()函数周围的print语句即可获得所需的输出。另外,缩进似乎已关闭,请格式化您的答案代码块
return("Name :- {}, Score :- {}".format(self.name,self.score))