当我打电话给get_side
时,它将进行折腾并将结果保存在self.side
中并打印出来。当我打电话给get_side
时,它会打印:
这是折腾无结果
为什么打印None
?
import random
class Coin:
def __init__(self):
self.side_up='Heads'
def toss(self):
if(random.randint(0, 1) ==0):
self.side_up='Heads'
else:
self.side_up='Tails'
def get_side(self):
self.side=self.toss()
print('This is the outcome of toss', self.side)
答案 0 :(得分:0)
def toss(self):
if(random.randint(0, 1) ==0):
return 'Heads'
else:
return 'Tails'
答案 1 :(得分:0)
您之所以得到None
是因为
def toss(self):
...默认情况下返回None
,
self.side=self.toss()
...正在将self.toss()
的返回值分配给self.side
。
解决方案是将上面的行更改为公正
self.toss()
...,因为您已经在self.side
内部分配给toss
。
一种替代方法是使self.toss()
返回另一个答案中建议的值。