我的代码:
我做了一些代码,在1-8范围内打印100个随机值,如果数字从1-5开始,它会打印它旁边的x,如果是6-8,它会打印y。我想知道如何打印一个x被打印和一个y被打印的次数。
我还想知道为什么我必须为我想要打印x的每一个值做一个有条件的语句,而不是只写这个(它不能正常工作)
发布于 2016-04-10 00:07:40
将x和y放在字典中,并在循环中每次增加它们发生的频率:
import random
numbers = {'x': 0, 'y': 0}
def randomnumbers():
for x in range(100):
n = random.randint(1, 8)
if 1 <= n <= 5:
numbers['x'] += 1
print('%dx' % n)
# E.g. 1x
elif 6 <= n <= 8:
numbers['y'] += 1
print('%dy' % n)
# E.g. 7y
randomnumbers()
print('x %d times' % numbers['x'])
# E.g. x 61 times
print('y %d times' % numbers['y'])
# E.g. y 39 times
发布于 2017-10-05 15:19:22
您可以创建两个变量来记住打印x和y的次数。
import random
howManyX = 0 # how many times x is printed
howManyY = 0 # how many times y is printed
def randomnumbers():
for i in range(100):
num = random.randint(1, 8)
# if your number is from range 1 - 5: print x and increment howManyX
if 1 <= num <= 5:
print(num, 'x')
howManyX += 1
# if your variable is not from range 1 - 5 (in this case it is 6, 7 or 8): print y and increment howManyY
else:
print(num, 'y')
howManyY += 1
randomnumbers()
#now you can print how many times have x and y occurred
print(howManyX, howManyY)
https://stackoverflow.com/questions/36524197
复制相似问题