|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入:5296
输出: 5
为什么输出结果不对
- s = input('输入:')
- s_int = int(s)
- empty = []#创建一个空列表存放奇数的字符串
- if s_int % 2 == 1:#说明他是个奇数
- print('输出:',s_int)
- else:#他是个偶数
- for i in range(len(s)):
- for j in range(i+1,len(s)+1):
- #切片看每一个切片是否满足偶数,满足的话添加进空列表
- if int(s[i:j]) % 2 == 1:#奇数
- empty.append(s[i:j])
- else:
- continue
- if len(empty) == 0:
- print('输出:0')
- else:
- sorted(empty,reverse = True)
- print('输出:',empty[0])
复制代码
本帖最后由 jackz007 于 2024-1-23 23:17 编辑
- empty . append(s[i:j]) # 第 11 行
- . . . . . .
- sorted(empty,reverse = True) # 第 17 行
复制代码
改为:
- empty . append(int(s[i:j])) # 第 11 行,数值排序不同于字符串排序,本例需要的是数值排序
- . . . . . .
- empty . sort(reverse = True) # 第 17 行,执行 sorted(empty,reverse = True) 并不能改变元素顺序
复制代码
|
|