Python 将三位数字之和相加
所以我写了一个程序,输入一个3位数字,然后把它分开。我很难弄清楚如何将这些数字相加 例如:用户输入345 我的程序将把#分开为3,4,5,但是我如何将这些数字相加呢 这是我到目前为止的代码Python 将三位数字之和相加,python,Python,所以我写了一个程序,输入一个3位数字,然后把它分开。我很难弄清楚如何将这些数字相加 例如:用户输入345 我的程序将把#分开为3,4,5,但是我如何将这些数字相加呢 这是我到目前为止的代码 #set variable val = raw_input("Type your three digit number please: ") print 'The first digit is {}'.format(val[0]) print 'The second digit is {}'.format
#set variable
val = raw_input("Type your three digit number please: ")
print 'The first digit is {}'.format(val[0])
print 'The second digit is {}'.format(val[1])
print 'The third digit is {}'.format(val[2])
#set variable
total = [val[0] +val [1] + val[2]]
total_value = total
print 'The sum of the three digits is' total_value
你只需要这样做:
total = int(val[0]) + int(val[1]) + int(val[2])
由于val
中的数字是字符,因此必须首先将它们转换为整数。
请注意,在代码中受影响的
[]
值周围没有任何total
(您不需要列表,只需要一个值)。一个优雅的解决方案是使用python的内置函数和:
试试这个:
res = raw_input("Enter value: ")
print sum(map(int, res))
将所有数字相加的一种简单方法是:
In [3]: sum(map(int, val))
Out[3]: 12
这里,map(int,val)
对val
的字符进行迭代,并将每个字符转换为int
,然后sum(…)
将所有这些int
相加
这种方法的优点在于,它适用于任意数量的数字
原始代码无法工作的原因是val[0]
etc是字符串,因此使用+
只需将这些字符串重新连接在一起。要添加数值,必须首先将字符转换为int
:
In [5]: int(val[0]) + int(val[1]) + int(val[2])
Out[5]: 12
您必须将各个组件转换为数字才能添加它们:
total = int(val[0]) + int(val[1]) + int(val[2])
或者更简洁地说:
total = sum(int(x) for x in val)
我想你想要的答案是这样的:
a = int(input("3 digit number:"))
x = a // 100
y = a // 10 % 10
z = a % 10
print (x + y + z)
我是一个彻头彻尾的noob,这是一个关于noobs学习的ez问题,但是当我寻找ez答案时,我在任何地方都找不到它()这个问题是将“三”位数相加。。。
我挂断了如果数字是5或6长不知道代码会是什么样子,如果数字没有定义
答复:
a = int(input("enter a few numbers:"))
conversion = str(a)
number =[]
for i in conversion:
a = int(i)
number.append(a)
print (sum(number))
或如我面前所示:
number = map(int, str(input('Enter a number: ')))
print(sum(number))
但在我正确理解这一点之前,我还有很多路要走无需在这里创建
列表
。。。只需将其保留为int(x)就可以了。
请仔细阅读您的文档。@SantoshKumar确实如此!为什么同样的问题要问两次?听起来像是迫不及待地要完成一些家庭作业D
number = map(int, str(input('Enter a number: ')))
print(sum(number))