如何查找单个整数中的最大数位?
如何找出单个整数的最大数位
你已经掌握了用max()函数查找列表中最大值的方法,要找出单个整数的最大数位,可以用以下两种实用方法:
方法一:字符串转换法(简洁直观)
把整数转换成字符串后,逐个字符转成整数组成列表,再用max()函数取最大值即可。注意处理负数时要先取绝对值——数位本身是正数:
num = 123 # 处理负数,先取绝对值再转字符串 digits = [int(d) for d in str(abs(num))] max_digit = max(digits) print(max_digit) # 输出3
负数示例测试:
num = -346 digits = [int(d) for d in str(abs(num))] max_digit = max(digits) print(max_digit) # 输出6
方法二:数学运算方法(无需字符串转换)
通过取余(%10)获取当前最后一位数位,用整除(//10)去掉最后一位,循环比较并更新最大值:
num = 346 num_abs = abs(num) max_digit = 0 while num_abs > 0: current_digit = num_abs % 10 if current_digit > max_digit: max_digit = current_digit num_abs = num_abs // 10 print(max_digit) # 输出6
如果输入为0,这个方法也能正确返回0。
内容的提问来源于stack exchange,提问作者agnla
相关产品推荐
相关产品推荐

