我的老师解决了这个问题“编写一个函数,将一个数字作为输入,如果这个数字中的最大数字可以被 3 整除,则返回 True”,如下所示:
def is_divisable(n):
a = str(n)
b = 0
for i in a:
if int(i)>b:
b = int(i)
if b % 3 == 0:
return "True"
print is_divisable(67479)
我以另一种方式想到了它,但我的代码不起作用,我收到一个错误说:
“类型错误:‘int’对象不可迭代”
def is_dvo(n):
if max(n) % 3 == 0:
return True
print is_dvo(67479)
你没有完全说出你的问题是什么,但如果你想要另一种解决问题的方法,
def is_divisable(n):
return int(max(str(n))) % 3 == 0
此代码将数字转换为其十进制字符串表示形式,找到最大的数字(作为字符),将该数字更改为整数,检查它是否可以被 3 整除,然后返回该答案。
如果您的问题是为什么会出现该错误,则您的参数n
是一个整数,并且您尝试将该max()
函数应用于该整数。但是,max()
应该用于可迭代对象,例如字符串、列表、元组、生成器等。我的代码在使用之前将整数更改为字符串,max()
因此它没有那个问题,并且它遍历字符串中的数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句