我想使用其函数编程功能在python中构建一个while循环,但直到现在我都失败了.
我所取得的成就是代码的和平,它应该计算出每个数字1到20可被整除的最小数字.但它似乎并没有使用函数式编程功能.并且还给出了如下错误:
在"i"的增量行处"运行时错误:超出最大递归深度";
即使这应该限制在20.
def byYmult(x, y): return x % y == 0
def first20div():
i=0
for y in range(1,20):
i += byYmult(x, y)
return i >= 20
def while_block():
global x
if first20div():
print(x)
return 1
else:
x += 1
return 0
x = 0
while_FP = lambda: ((not first20div()) and while_block() ) or while_FP()
while_FP()
Run Code Online (Sandbox Code Playgroud) 我有一个程序可以从命令行读取自然语言的句子并对其进行处理。
一些标点符号不被接受:或者我收到一条特定的错误消息(例如,当我使用括号时),或者我收到了>(例如,当我键入时'),好像终端仍在等待什么。
一个快速的解决方法是在引号中包含单个“有问题”的单词,但对我来说似乎不是一个很好的解决方法。
难道没有一种方法可以使命令行准备好将任何字符用作有效输入,而无需让“用户”考虑是否要在引号中包含什么吗?
为了完整起见,这就是我编写命令行内容的方式:int main(int argc , char ** argv){我想这是标准方式。
我正在使用最后一个Ubuntu,不知道这是否相关。