学习Python从娃娃抓起!记录下蓝桥杯备考学习过程中的题目,记录每一个瞬间。
附上汇总贴:历年蓝桥杯Python青少组中/高级选拔赛(STEMA)真题解析 | 汇总
【题目描述】
给定一个正整数N(100≤N≤999),交换N中任意两个数位上的数字获得一个新值,找到一种交换方式使得新值最大,并输出,如果交换后的新值都不大于N,则输出N。(只能交换一次)
例如:N=145,有三种交换方式,交换后的新值分别为415、541、154,其中交换后最大的新值为541,则输出541。
【输入】
输入一个正整数N(100≤N≤999)
【输出】
输出一个正整数,表示交换后的最大值
【输入样例】
145
【输出样例】
541
【代码详解】
n = input()
g = int(n[2]) # 取出三位数的每一位
s = int(n[1])
b = int(n[0])
ls = [g, s, b] # 放到列表中
ls = sorted(ls, reverse=True) # 按照从大到小排序
for i in range(3): # 依次输出
print(ls[i], end='')
【运行结果】
145
541