我正在为新的亚马逊ECHO工作"技能".该技能将允许用户向Alexa询问有关Enphase太阳系的状态和性能的信息.Alexa将回应从基于JSON的Enphase API中提取的结果.例如,用户可以问,
"Alexa. Ask Enphase how much solar energy I have produced in the last week."
ALEXA <"Your array has produced 152kWh in the last week.">
Run Code Online (Sandbox Code Playgroud)
问题是我用JavaScript编程已经多年了,这是我第一次使用AWS Lambda.我没有非常成功地找到有关如何将JSON查询嵌入AWS Lambda函数中的第三方服务器的任何信息.以下是我的Lambda函数中相关的代码部分:
/**
* Gets power from Enphase API and prepares speach
*/
function GetPowerFromEnphase(intent, session, callback) {
var Power = 0;
var repromptText = null;
var sessionAttributes = {};
var shouldEndSession = false;
var speechOutput = "";
//////////////////////////////////////////////////////////////////////
// Need code here for sending JSON query to Enphase server to get power …Run Code Online (Sandbox Code Playgroud) 我有一个包含函数和一些类的 python 模块。这个模块基本上被我的几个同事用作工具集。
我想建立一种错误报告系统,只要有人生成我不处理的异常,就会发送一封包含异常信息的电子邮件。通过这种方式,我可以不断改进我的代码的健壮性和我自己的错误消息的帮助性。最好的方法是在整个模块周围放置一个 try/except 块吗?
可以说我有几个字符串标题:
title0 = 'USA'
title1 = 'Canada'
Run Code Online (Sandbox Code Playgroud)
我想在这些标题的正面和背面附加一个'#'字符列表,以便给它们一个恒定的长度,所以它们看起来像:
######## USA ########
####### Canada ######
Run Code Online (Sandbox Code Playgroud)
使用1个空格缓冲文本的开头和结尾.显然,我不能总是在单词周围得到对称数量的符号.有没有办法用内置的Python字符串格式来做到这一点?
也就是说,如果我有两个浮点数(IEEE-754二进制浮点数)a和b,我计算c如下:
c = a - b
Run Code Online (Sandbox Code Playgroud)
这总是真的吗?
c + b == a
Run Code Online (Sandbox Code Playgroud)
这个简单问题的答案出奇地难以在互联网上找到答案。我找到的最接近的东西是这篇论文。也许我只是没有使用正确的术语。
我正在使用python生成用于编程的测试文件.在这个文件中,我有几个自动生成的注释.问题是,这些注释中的一些可能会很长,如果一行太长,读取该文件的软件会产生错误.
我正在寻找的是一种用'\n#'打破字符串的方法.这些换行符的位置应限制任何一行的宽度小于某个宽度.以下是我想要做的一个例子.我需要从"long_line"生成"broken_line"的代码.
long_line = "# alpha || bravo || charlie || delta || echo are the first 5 elements of NATO"
broken_line = "# alpha || bravo || charlie ||\n# delta || echo are the first \n# 5 elements of NATO"
>>>print long_line
# alpha || bravo || charlie || delta || echo are the first 5 elements of NATO
>>>print broken_line
# alpha || bravo || charlie ||
# delta || echo are the first
# 5 elements of …Run Code Online (Sandbox Code Playgroud) 我有一个可以用不同的参数组合构建的类,但我有一个必需的参数列表.这是我目前检查的方式:
# check for the required arguments
rqrd_args = ['a', 'b', 'c'] # required arguments
mssing_args = set(rqrd_args)-set(kwargs.keys())
if mssing_args:
error_lines = ['The following required arguments are missing:']
error_lines.extend(['\t%s'%x for x in mssing_args])
sys.exit('\n'.join(error_lines))
# pull from kwargs
self.a = kwargs['a']
self.b = kwargs['b']
self.c = kwargs['c']
Run Code Online (Sandbox Code Playgroud)
我倾向于重复使用这段代码.我的问题是,我可以以某种方式用循环来替换"#pull from kwargs"部分,该循环遍历所需的参数列表,这样代码更通用吗?我有什么理由不想这样做吗?
可以说我有两个列表:
x = [1,2,3,4]
y = [1,4,7,8]
Run Code Online (Sandbox Code Playgroud)
我想在x中附加x中尚未包含的任何值.我可以通过循环轻松完成此操作:
for value in y:
if value not in x:
x.append(value)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更多的Pythonic方式.