使用循环添加切片编号

2024-10-01 05:05:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何使用循环在Python中添加这些数字?谢谢

num=input("Enter your number: ")

ansAdd= int(str(num)[7])+int(str(num)[5])+int(str(num)[3])+int(str(num)[1])

print....

Tags: numberinputyour数字numintprintenter
3条回答
>>> s = '01234567'
>>> sum(map(int, s[1::2]))
16

其工作原理如下:

s[1::2]从索引1开始,到字符串末尾,步进2,取字符串的一部分。有关切片的更多信息,请参见Python教程的Strings部分。在

^{}接受一个函数和一个iterable(字符串是可编辑的),并将函数应用于每个项,返回结果列表。这里我们使用map将每个字符串数字转换为int。在

^{}接受iterable并对其求和。在

如果要在不使用summap内置函数的情况下执行此操作,并且不使用切片,并且使用显式for循环:

^{2}$
>>> num=input()
12345678
>>> sum(map(int,num[:8][1::2]))
20

这里num[:8][1::2]只返回sum()所需的数字,num[:8]确保计算中只使用索引7之前的元素,[1::2]返回{}

^{2}$

你想用一个循环来做,给你:

ansAdd = 0
for x in [7,5,3,1]:
  ansAdd += int(str(num)[x])

然而,使用列表理解更像Python

相关问题 更多 >