python - 2 骰子滚动直方图 python 参数传递问题
问题描述
import random
roll_list = []
num_rolls = 100
def init_list():
for x in range (0,13):
roll_list.append(0)
def roll_dice():
dice1 = random.randint(1,6)
dice2 = random.randint(1,6)
roll = dice1 + dice2
def update_list(roll):
previousvalue = roll_list.pop(roll)
roll_list.insert(roll,previousvalue + 1)
def print_histogram():
for numbers in range(0,13):
print(numbers + ":", "*" * roll_list.pop(numbers))
init_list()
for y in range(0,num_rolls):
update_list(roll_dice())
print(roll_list)
print_histogram(roll_list)
# sample output:
0:
1:
2: ***
3: ******
4: ***************
5: ************
6: ************
7: ************
8: ***********
9: ***********
10: ***********
11: ****
12: ***
输出我不知道如何传递参数,所以我可以打印我尝试将 roll_list 插入其中的直方图,但它似乎不起作用。这是我收到的错误消息。回溯(最后一次调用):文件“python”,第 64 行,类型错误:print_histogram() 采用 0 个位置参数,但给出了 1 个
如果您可以评论我如何使其工作,那么除了直方图外,一切都可以正常工作,那就太好了。
更新:工作代码:
import random
roll_list = []
num_rolls = 100
def init_list():
for x in range (0,13):
roll_list.append(0)
def roll_dice():
dice1 = random.randint(1,6)
dice2 = random.randint(1,6)
roll = dice1 + dice2
return roll
def update_list(roll):
previousvalue = roll_list.pop(roll)
roll_list.insert(roll,previousvalue + 1)
def print_histogram():
for numbers in range(0,13):
print(numbers, ":", "*" * roll_list[numbers])
# main program
init_list()
for y in range(0,num_rolls):
update_list(roll_dice())
print(roll_list)
print_histogram()
解决方案
最终代码:
import random
roll_list = []
num_rolls = 100
def init_list():
for x in range (0,13):
roll_list.append(0)
def roll_dice():
dice1 = random.randint(1,6)
dice2 = random.randint(1,6)
roll = dice1 + dice2
return roll
def update_list(roll):
previousvalue = roll_list.pop(roll)
roll_list.insert(roll,previousvalue + 1)
def print_histogram():
for numbers in range(0,13):
print(numbers, ":", "*" * roll_list[numbers])
# main program
init_list()
for y in range(0,num_rolls):
update_list(roll_dice())
print(roll_list)
print_histogram()
推荐阅读
- mysql - 如何以正确的方式使以下 SQL 问题更优化
- powershell - 如何在 PowerShell 中使用条件语句重命名文件
- python - 按降序合并两个或多个具有公共列值的表,如果不可用则重复值
- cytoscape.js - Cytoscape js - 使用 cytoscape-graphml.js 初始化图形
- python - 我可以使用 pybind11 将 numpy 数组传递给接受 Eigen::Tensor 的函数吗?
- matlab - 将纯文本作为数字导入 MATLAB 矩阵以进行语义神经网络分析
- django - django 应用程序 postgresql 连接上的 Docker-compose 拒绝
- r - 通过每周迭代顺序添加实际日期
- android - 在 Android 4.1 (API 16) 设备上开发条形码扫描应用程序的最佳方法
- react-native - null 不是对象(评估“this.nativeCommandsModule.push”)