Python 如何添加在for循环下的数字?
我现在需要把这些数字加在一起,我试过求和(c),但它不起作用 尝试使用额外的变量Python 如何添加在for循环下的数字?,python,Python,我现在需要把这些数字加在一起,我试过求和(c),但它不起作用 尝试使用额外的变量 charkey = input('\nWhat is the eight character key that was used in encryption?\n') for i in charkey: c = (ord(i)) print('Asc2num',c) Output: What is the eight character key th
charkey = input('\nWhat is the eight character key that was used in encryption?\n')
for i in charkey:
c = (ord(i))
print('Asc2num',c)
Output:
What is the eight character key that was used in encryption?
(*&^%$
Asc2num 40
Asc2num 42
Asc2num 38
Asc2num 94
Asc2num 37
Asc2num 36
也有较短的版本:
charkey = input('\nWhat is the eight character key that was used in encryption?\n')
res = 0
for i in charkey:
c = (ord(i))
res += c
print(res)
sum()将list或任何iterable对象作为参数
演示:
In [106]: sum([1,2,3,4,5])
Out[106]: 15
例外情况:
print(sum((ord(x) for x in charkey)))
创建用于添加的变量: 演示:
In [106]: sum([1,2,3,4,5])
Out[106]: 15
我试过你的问题。这里有一个解决方案 让
就目前而言,你不能!循环之后,
c
是最后输入的数字。为什么不把它们放在一个列表中,或者一直把它们添加到其他变量中呢?
In [108]: add = 0
In [109]: for i in range(5):
.....: add = add + i
.....:
In [110]: add
Out[110]: 10
c=[]
for i in charkey:
c.append(ord(i))
sum(c)
>>> charkey = raw_input('\nWhat is the eight character key that was used in encryption?\n')
What is the eight character key that was used in encryption?
!@#$%^&*
>>> c
[33, 64, 35, 36, 37, 94, 38, 42]
>>> sum(c)
379