在Python中,我如何解析数字字符串,如"545.2222"相应的浮点值,545.2222?或者将字符串解析为"31"整数,31?
我只是想知道如何将一个浮点数 解析str为a float,并且(单独)将一个int 解析str为一个int.
我有一个数字列表,如[1,2,3,4,5...],我想计算(1+2)/2,第二,(2+3)/2第三,
(3+4)/2等等.我怎样才能做到这一点?
我想将第一个数字与第二个数字相加并除以2,然后将第二个数字与第三个相加并除以2,依此类推.
另外,我如何总结一个数字列表?
a = [1, 2, 3, 4, 5, ...]
Run Code Online (Sandbox Code Playgroud)
是吗:
b = sum(a)
print b
Run Code Online (Sandbox Code Playgroud)
得到一个号码?
这对我不起作用.
Stack Overflow 上有很多关于这个一般主题的问答,但它们要么质量很差(通常是初学者的调试问题暗示的),要么以其他方式错过了目标(通常是不够通用)。至少有两种极其常见的方法会使幼稚的代码出错,初学者从关于循环的规范中获益更多,而不是从将问题作为拼写错误或关于打印所需内容的规范中获益。所以这是我尝试将所有相关信息放在同一个地方。
假设我有一些简单的代码,可以对一个值进行计算x并将其分配给y:
y = x + 1
# Or it could be in a function:
def calc_y(an_x):
return an_x + 1
Run Code Online (Sandbox Code Playgroud)
现在我想重复计算 的许多可能值x。我知道for如果我已经有要使用的值列表(或其他序列),我可以使用循环:
xs = [1, 3, 5]
for x in xs:
y = x + 1
Run Code Online (Sandbox Code Playgroud)
while或者,如果有其他逻辑来计算值序列,我可以使用循环x:
def next_collatz(value):
if value % 2 == 0:
return value // 2
else:
return 3 * value + 1
def collatz_from_19():
x = 19
while x != 1:
x …Run Code Online (Sandbox Code Playgroud) 如果我有一个像这样的清单
x = [2, 4, 7, 12, 3]
Run Code Online (Sandbox Code Playgroud)
我会用什么功能/过程将所有数字加在一起?
除了使用sum()之外还有什么方法吗?