给定一个三位数,求其位数之和。python
这是一个简单的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,然后将其结果
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现在清楚了,谢谢!现在清楚了,谢谢!