Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是什么导致了这个迭代语法错误?_Python_For Loop_Syntax Error - Fatal编程技术网

Python 是什么导致了这个迭代语法错误?

Python 是什么导致了这个迭代语法错误?,python,for-loop,syntax-error,Python,For Loop,Syntax Error,“j=j+1”行出现无效语法错误。甚至当我试图删除这一行时,它也会说list1中的k行无效。知道为什么吗?因为分配需要大量的迭代,我不认为我可以删除它,但我认为行没有问题 作为参考,作业如下:假设一个房间里有n个人,那么其中两人或两人以上生日相同的概率是多少?可以通过模拟来确定这个问题的答案。使用提供给您的起始模板,完成名为calc Birth probability的函数,该函数将n作为输入,并返回n人中两个或更多人的生日相同的概率。为此,函数应创建大小为n的列表,并随机生成范围为1到365的

“j=j+1”行出现无效语法错误。甚至当我试图删除这一行时,它也会说list1中的k行无效。知道为什么吗?因为分配需要大量的迭代,我不认为我可以删除它,但我认为行没有问题

作为参考,作业如下:假设一个房间里有n个人,那么其中两人或两人以上生日相同的概率是多少?可以通过模拟来确定这个问题的答案。使用提供给您的起始模板,完成名为calc Birth probability的函数,该函数将n作为输入,并返回n人中两个或更多人的生日相同的概率。为此,函数应创建大小为n的列表,并随机生成范围为1到365的n个生日,包括终点1和365。然后,它应该检查n个生日中是否有一个是相同的。该函数应执行此实验106次,并计算两个或更多人生日相同的时间分数

import random

def calc_birthday_probability (num_people):

random.seed (2020) # Don't change this value
num_trials = 2
list1 = []
repeats = 0
for i in range(0,num_trials+1):

    for j in range (0,num_people+1):
        list1.append(random.randint (1,365)
        j = j+1

    for k in list1:
        if list1.count(k)>1:
            repeats +=1
            k = k+1
        else:
            repeats = repeats+0
    del list1[:]
    i = i+1
print(repeats)

prob = repeats/(num_trials*num_people)


return prob


print(calc_birthday_probability(2))
''”

你的台词

(list1.append(random.randint (1,365))
以一个从未关闭的括号开始,提高了
SyntaxError
。您的代码应该是:

list1.append(random.randint(1,365))

这一行的开头有一个额外的括号:
(list1.append(random.randint(1365))
发布完整的堆栈跟踪,而不是在文本中描述它。到目前为止,我们都看到了许多堆栈跟踪,这样更容易发现问题。神秘的语法错误几乎总是可以通过检查解析器报告的行之前的代码行来解释。而您的
列表。append
行仍然有不平衡的括号es。看,我去掉了括号,但我仍然得到了一个错误?我想是另一个错误?你可能想提出一个新问题,并尝试更清楚地表达出来,例如,用可复制的示例和错误堆栈跟踪对问题进行简短描述。也就是说,除非你能自己研究和解决问题。你删除了一个额外的问题无论如何,还是用括号括起来。
list1.append(random.randint(1365)
就是上面显示的内容。请看我的答案,它应该是什么,在这行末尾有两个结束括号。