作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试用 Python 解决生日悖论。我很接近,但最后一 block 让我不知所措。我正在使用随机生成一个数字列表,给定一个范围和要创建的项目数量。行得通。
然后我检查列表(上面生成的)是否有重复项。行得通。
然后我尝试生成给定的 (n) 个列表。这是我遇到麻烦的地方。它生成一个列表然后返回“NoneType”是不可迭代的。令我困惑的是,列表已生成,但 Python 并未将其视为列表。
代码如下:
def make_bd(n, r):
"""Generates (r) numbers of birthdays in a range (n)."""
import random
t = [random.randrange(n) for i in range(r)]
print (t)
def has_dupe(test):
"""Here I test to see if I can detect a duplicate birthday.
This is based on problem #4."""
d = []
count = 0
for number in test:
if number in d:
count = count + 1
d.append(number)
if count >= 1:
return True
return False
def dupebd(n,r,t):
count_dupe = 0
for i in range(n):
if has_dupe(make_bd(r,t)):
count_dupe = count_dupe + 1
print (float(count)/n)
dupebd(50,365,23)
结果如下:
>>> has_dupe(make_bd(50,6))
[13, 3, 8, 29, 34, 44]
Traceback (most recent call last):
File "<pyshell#45>", line 1, in <module>
has_dupe(make_bd(50,6))
File "<pyshell#44>", line 7, in has_dupe
for number in test:
TypeError: 'NoneType' object is not iterable
最佳答案
在第 5 行中,您打印 t
但不返回它,因此 make_bd
返回 None
。将行更改为
return t
关于python - 生日悖论列表是非类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374256/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我已更改 my.cnf。并检查sql_mode使用下面的命令 select @@global.sql_mode; 它说, 我也尝试过 set global sql_mode=''; SET sql_m
首先,我有一个结构,它有一个值和一个默认值 struct S { int a = 1; }; 当 gcc 和 clang 都是 non-const/non-constexpr 时,可以默认构造
我是一名优秀的程序员,十分优秀!