[英]For every 10th in a array.count(1)
所以我得到了一系列 1 到 6 的骰子。
所以我用 .count 计算 1 在数组中运行的次数,但我也必须在每次计数超过 10 时打印一些东西。所以如果我滚动 100 次并且得到 23 卷 1,我希望它显示一个* 每 10 个。
到目前为止的代码是:
import random
die_rolls = []
maxsize = int(input("What is the maximum die rolls: ")) + 1
for num in range(1,maxsize):
die_random = random.randint (1,6)
die_rolls.append(die_random)
print(str(maxsize-1) + " total rolls.")
percent_one = die_rolls.count(1) / maxsize *100
print("1: " + "[" + str(die_rolls.count(1)) + " |", "{:.1f}".format(percent_one) + "%]")
total=sum(die_rolls)
print(total)
我得到:
What is the maximum die rolls: 100
100 total rolls.
1: [21 | 20.8%]
329
我需要它看起来像:
What is the maximum die rolls: 100
100 total rolls.
1: ** [21 | 20.8%]
329
你的意思是这样吗?
stars = "*" * (die_rolls.count(1) // 10)
print("1: " + stars + " [" + str(die_rolls.count(1)) + " |", "{:.1f}".format(percent_one) + "%]")
// 运算符执行整数除法,因此 19//10 = 1、20//10 = 2、21//10 = 2 等。
写 "*" * 2 会使 Python 重复字符串 "*" 两次。
stars = '*' * (die_rolls.count(1) // 10) # count number of stars
print('1: {0} [{1} | {2:.1f}%]'.format(stars, die_rolls.count(1), percent_one))
编辑:正如@Ev.Kounis 所建议的那样,将 die_rolls.count(1) 保存到一个变量中。 例如count_one = die_rolls.count(1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.