Python 不带分隔符的拆分命令

Python 不带分隔符的拆分命令,python,split,sum,Python,Split,Sum,我想制作一个将3位数字相加的程序,但我无法让python在不输入分隔符的情况下运行split命令。任何帮助都将不胜感激 a, b, c = input("x=").split("") a, b, c, = int(a), int(b), int(c) print(a+b+c) 如果输入正好是三个字符,则可以: a, b, c = input("x=") print sum([int(i) for i in [a,b,c]]) 尽管如此,对于更灵活的选项: user_input = input

我想制作一个将3位数字相加的程序,但我无法让python在不输入分隔符的情况下运行split命令。任何帮助都将不胜感激

a, b, c = input("x=").split("")
a, b, c, = int(a), int(b), int(c)
print(a+b+c)

如果输入正好是三个字符,则可以:

a, b, c = input("x=")
print sum([int(i) for i in [a,b,c]])
尽管如此,对于更灵活的选项:

user_input = input("x=")
print sum([int(c) for c in user_input])

****请注意,在Python2上,这是行不通的,您必须使用
raw\u input
而不是
input
。我假设您使用的是python 3?

如果输入正好是三个字符,则可以:

a, b, c = input("x=")
print sum([int(i) for i in [a,b,c]])
尽管如此,对于更灵活的选项:

user_input = input("x=")
print sum([int(c) for c in user_input])

****请注意,在Python2上,这是行不通的,您必须使用
raw\u input
而不是
input
。我假设您使用的是Python3?

您在找这个吗

sum(int(c) for c in input("x="))
或者,如果要从代码中删除
拆分(“”)
,只需运行以下命令:

a, b, c = list(input("x="))
a, b, c, = int(a), int(b), int(c)
print(a+b+c)

你在找这个吗

sum(int(c) for c in input("x="))
或者,如果要从代码中删除
拆分(“”)
,只需运行以下命令:

a, b, c = list(input("x="))
a, b, c, = int(a), int(b), int(c)
print(a+b+c)

如果将数字输入为整数,则需要先将其转换为字符串。空分隔符的等价物是将字符串转换为列表

a, b, c = list(str(input("x=")))

如果以字符串形式输入,则不需要调用。

如果以整数形式输入数字,则需要先将其转换为字符串。空分隔符的等价物是将字符串转换为列表

a, b, c = list(str(input("x=")))

如果以字符串形式输入,则不需要调用。

您可以将输入分配给一个变量,并使用列表理解将其拆分为数字。然后简单地使用sum函数

number = input("x=")
digits = [int(dig) for dig in number]
print(sum(digits))
或者在一行中:

print(sum([int(digit) for digit in input("x=")]))

您可以将输入分配给一个变量,并使用列表理解将其拆分为数字。然后简单地使用sum函数

number = input("x=")
digits = [int(dig) for dig in number]
print(sum(digits))
或者在一行中:

print(sum([int(digit) for digit in input("x=")]))

当你给出3个普通词时,你必须输入一系列的数字,比如
[1,2,3]
,而不需要将它们分开,它们会分别出现

但如果要对所有数字求和,因为无法预测将输入多少数字,最好将所有值作为字符串,然后将其拆分为整数:

value = str(input("x="))
numSum = 0
for eachvalue in value:
    numSum = numSum + int(eachvalue)
print(numSum)
编辑: 此外,如果用户输入字符串,如
'sdf234'
,您只需在代码中添加以下内容即可检查输入的内容是否为整数:

if eachvalue in "1234567890":
因此,您的最终代码将是:

value = str(input("x="))
numSum = 0
for eachvalue in value:
    if eachvalue in "1234567890":
        numSum = numSum + int(eachvalue)
print(numSum)

当你给出3个普通词时,你必须输入一系列的数字,比如
[1,2,3]
,而不需要将它们分开,它们会分别出现

但如果要对所有数字求和,因为无法预测将输入多少数字,最好将所有值作为字符串,然后将其拆分为整数:

value = str(input("x="))
numSum = 0
for eachvalue in value:
    numSum = numSum + int(eachvalue)
print(numSum)
编辑: 此外,如果用户输入字符串,如
'sdf234'
,您只需在代码中添加以下内容即可检查输入的内容是否为整数:

if eachvalue in "1234567890":
因此,您的最终代码将是:

value = str(input("x="))
numSum = 0
for eachvalue in value:
    if eachvalue in "1234567890":
        numSum = numSum + int(eachvalue)
print(numSum)

我不清楚问题是什么?你想把它分成一个字符列表吗?我想做一个三位数相加的程序。123=6我不清楚问题出在哪里?你想把它分成一个字符列表吗?我想做一个程序,把一个三位数的数字相加,例如)123=6个汉克斯!你能解释一下为什么我不需要拆线吗?你能解释一下为什么你需要它吗?您可以使用循环检查字符串中的每个字符:
文本中的c:print c
谢谢!你能解释一下为什么我不需要拆线吗?你能解释一下为什么你需要它吗?您可以使用循环检查字符串中的每个字符:
文本中的c:print c