Python 拆分用户输入的整数,然后对其执行数学运算?

Python 拆分用户输入的整数,然后对其执行数学运算?,python,python-3.x,Python,Python 3.x,我希望用户输入一个3位数的数字,然后将该数字拆分为三个独立的数字,这样我就可以将第一个数字除以第二个数字,并将结果添加到最后一个数字 try: inp = int(input('Enter a 3 digit number: ')) [int(i) for i in str(inp)] n1 = [0] n2 = [1] n3 = [2] except ValueError: print('is not an integer') except Zer

我希望用户输入一个3位数的数字,然后将该数字拆分为三个独立的数字,这样我就可以将第一个数字除以第二个数字,并将结果添加到最后一个数字

try:
   inp = int(input('Enter a 3 digit number: '))
    [int(i) for i in str(inp)]
    n1 = [0]
    n2 = [1]
    n3 = [2]
except ValueError:
    print('is not an integer')
except ZeroDivisionError:
    print('cannot divide by zero')
div_num = n1 / n2
result = div_num + n3
    print(result)

我知道我无法计算字符串,但如何解决这个问题?

这段代码毫无意义:

[int(i) for i in str(inp)]
n1 = [0]
n2 = [1]
n3 = [2]
第一行执行作业,但放弃结果。下一行定义包含1个元素、0、1和2的列表

如果保证输入长度为3个字符,则可以使用

n1,n2,n3 = map(int,input('Enter a 3 digit number: '))
map被解包到3个变量中

我建议控件避免解包错误,尽管:

s = input('Enter a 3 digit number: ')
if len(s) == 3:
   try:
      n1,n2,n3 = map(int,s)
      # continue the processing
   except ValueError:
      # catch wrong integer exception
你可以这样试试

>>>
>>> a, b, c = (int(str) for str in input('Enter a 3 digit number: ').split(' '))
Enter a 3 digit number: 20 4 15
>>>
>>> a / b + c
20.0
>>>

inp=[intx for x in input'输入一个3位数:']您应该编辑文档来解释您的输入是什么吗?像456还是123?因为有些答案没有得到你想要的输入格式。