【发布时间】:2020-06-18 22:04:13
【问题描述】:
我正在尝试来自 QuantEcon (https://python.quantecon.org/functions.html) 的以下问题:
....编写一个函数,返回以下随机设备的一个实现
掷一枚公正的硬币 10 次。 如果在此序列中至少出现一次正面连续出现 k 次或多次,则支付 1 美元。 如果没有,则不支付任何费用。
我的代码如下:
from numpy.random import uniform
def coinpay(k):
count=0
for i in range(11):
U=uniform(0,1)
if U<0.5:
count=count+1
if count>=k:
return(1)
elif count<k and i==10
return(0)
它似乎抛出了无效语法的错误。我不确定为什么会这样。错误在倒数第二行。
runfile('/Users/xyz/Desktop/Factorial', wdir='/Users/xyz/Desktop')
Traceback (most recent call last):
File "/Users/xyz/opt/anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-7-b7c496572ff1>", line 1, in <module>
runfile('/Users/xyz/Desktop/Factorial', wdir='/Users/xyz/Desktop')
File "/Users/xyz/opt/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "/Users/xyz/opt/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "/Users/xyz/Desktop/Factorial", line 18
elif count<k and i==10
^
SyntaxError: invalid syntax
【问题讨论】:
-
嗯,它应该指出你有错误的那一行...特别是,else 语句不能自己对齐
-
顺便说一句,
import random。你不需要 numpy -
每当您遇到语法错误时,请随时查看官方 python 文档以了解正确的语法,直到您记住它... 9/10 次您会很容易地发现它。祝你好运
-
错误很明显。只需将
:放在 elif 语句的末尾