python - Lambda 函数中嵌入的 for 循环中的语法错误
问题描述
我确定这是一个简单的修复,但我在第 11 行遇到语法错误,这是以下 lambda 函数中嵌入的 for 循环(for j in range)。
import math
import random
def lambda_handler(event, context):
shots = int(event['pi_shots'])
rate = int(event['report_rate'])
pi_values=[]
incircle_sum = 0
for i in range(0, rate):
incircle = 0
for j in range(0,shots/rate):
random1 = random.uniform(-1.0,1.0)
random2 = random.uniform(-1.0,1.0)
if( ( random1*random1 + random2*random2 ) < 1 ):
incircle += 1
incircle_sum += incircle
pi = 4*(float(incircle_sum)/((shots/rate)*(i+1)))
pi_values.append(pi)
return pi_values
解决方案
正如您所说,错误来自 的停止值range(start, stop)
。for 的参数range
应该是整数。因此将除法结果转换int
为
for j in range(0, int(shots/rate)):
推荐阅读
- c# - 解析 Json 文件 - JsonConvert
- javascript - 如何配置提交按钮,使其可以提交已验证的表单?
- ant - Apply with parameter and input file redirector does not work
- android - 将文件夹的内容复制到android中的其他文件夹
- c# - cannot convert from 'Microsoft.Xrm.Sdk.Query.QueryExpression' to 'Microsoft.Crm.Sdk.Query.QueryBase
- java - 无法从适配器检索数据并将其显示为片段
- python - 没有这样的文件或目录:'/dev/hidraw0'
- python - What's the __fields__ does in python?
- c++ - 如何停止在 C++ 中调用不兼容的方法?
- php - 想要使用 wordpress 中的重定向插件将一堆 url 批量重定向到另一个 url 结构