题目
编写函数交换两个变量的值,并在主流程中输出交换前后的结果。
输入格式:一行输入两个整数 a 和 b,以空格分隔。
输出格式:分别输出交换前与交换后的两数内容,格式形如 before: a b 与 after: b a。
数据范围与约定:-109 ≤ a, b ≤ 109。
思路与算法
1. Python 对象引用机制
Python 函数参数是对象引用传递(按赋值传递)。基本类型不可变,在函数内直接对形参重赋值不会改变外部变量。
2. 元组解包原子交换
Python 推荐在主作用域直接使用 a, b = b, a,或由函数返回交换后的元组 return b, a。
完整程序
s = input().strip()
# 大小写转换:利用 ASCII 码偏移关系
res = []
for ch in s:
if 'a' <= ch <= 'z':
# 小写转大写:减去 32
res.append(chr(ord(ch) - 32))
elif 'A' <= ch <= 'Z':
# 大写转小写:加上 32
res.append(chr(ord(ch) + 32))
else:
res.append(ch)
print("".join(res))运行示例
输入:
3 7输出:
before: 3 7
after: 7 3