题目

编写函数交换两个变量的值,并在主流程中输出交换前后的结果。

输入格式:一行输入两个整数 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