Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给定一个三位数,求其位数之和。python_Python_Division - Fatal编程技术网

给定一个三位数,求其位数之和。python

给定一个三位数,求其位数之和。python,python,division,Python,Division,这是一个简单的python练习,代码已经运行了,但我想知道,如果余数10%10为零,我如何将给定的数字除以零,从中得到错误以外的信息?这可能很琐碎,但我就是不知道发生了什么 number = int(input()) a = number // 100 b = number // 10 % 10 c = number % 10 print(a + b + c) 在这个例子中,你不会在任何地方被零除。如果您指的是行b=number//10%10,那么实际发生的情况是将该数字除以10,然后将其结果

这是一个简单的python练习,代码已经运行了,但我想知道,如果余数
10%10
为零,我如何将给定的数字除以零,从中得到错误以外的信息?这可能很琐碎,但我就是不知道发生了什么

number = int(input())
a = number // 100
b = number // 10 % 10
c = number % 10
print(a + b + c)

在这个例子中,你不会在任何地方被零除。如果您指的是行
b=number//10%10
,那么实际发生的情况是将该数字除以10,然后将其结果转化为模,即“除以10后的余数”。我想你对那行的运算顺序理解错了,这让你相信被0除法是可能发生的。不可能。好吧,在这个例子中,任何地方都不会被零除。如果您指的是行
b=number//10%10
,那么实际发生的情况是将该数字除以10,然后将其结果转化为模,即“除以10后的余数”。我想你对那行的运算顺序理解错了,这让你相信被0除法是可能发生的。不能。处理混合运算符时使用括号很重要,因为运算符优先级可能导致意外结果。在Python中,%和//具有相同的优先级,因此表达式从左到右求值。有关特定于语言的优先级的详细信息,请参阅

在上面的代码中,由于它是从左到右计算的,所以地板分割总是在模运算之前发生,因此不会发生ZeroDivisionError。但要回答您的问题,您可以始终使用try-and-catch块捕获错误并自行处理

number=int(输入())
尝试:
a=数字//100
b=数量//(10%10)
c=数字%10
打印(a+b+c)
除零误差外:
打印(“请输入另一个不是10的倍数的数字。”)

number=int(input())
处理混合运算符时使用括号很重要,因为运算符优先级可能导致意外结果。在Python中,%和//具有相同的优先级,因此表达式从左到右求值。有关特定于语言的优先级的详细信息,请参阅

在上面的代码中,由于它是从左到右计算的,所以地板分割总是在模运算之前发生,因此不会发生ZeroDivisionError。但要回答您的问题,您可以始终使用try-and-catch块捕获错误并自行处理

number=int(输入())
尝试:
a=数字//100
b=数量//(10%10)
c=数字%10
打印(a+b+c)
除零误差外:
打印(“请输入另一个不是10的倍数的数字。”)

number=int(input())
操作顺序<代码>(编号//10)%10操作顺序<代码>(编号//10)%10现在清楚了,谢谢!现在清楚了,谢谢!