python大小写交换异或
时间: 2024-10-14 17:01:21 浏览: 4
在Python中,如果你想交换字符串中字符的大写和小写,可以使用位运算中的异或(XOR)操作。异或通常用于二进制数据处理,但在这里我们可以巧妙地利用其特性,因为大写字母和小写字母在ASCII码表上相隔32。对于每个字符,你可以将其转换为对应的ASCII值,应用异或操作,然后再转换回字符。
这里是一个简单的例子:
```python
def swap_case(s):
swapped = ""
for char in s:
if 'a' <= char <= 'z': # 如果是小写字母
swapped += chr((ord(char) - ord('a') + 32) % 26 + ord('a')) # 将小写转为大写并取模防止超出范围
elif 'A' <= char <= 'Z': # 如果是大写字母
swapped += chr((ord(char) - ord('A') + 32) % 26 + ord('A')) # 同理将大写转为小写
else:
swapped += char # 非字母字符不变
return swapped
# 示例
s = "Hello World!"
print(swap_case(s)) # 输出: hELLO wORLD!
```
相关问题
python 二进制按位异或
在 Python 中,二进制按位异或(XOR,Exclusive OR)操作符通常使用 `^` 符号表示。这个操作符对两个二进制数的每个对应位执行 XOR 操作,结果是如果这两个位不同,则结果为 1,如果相同则结果为 0。这是一种位级别的逻辑运算,不关心数值的大小,只关注每一位的状态。
举个例子,假设我们有两个八位二进制数:
- `a = 0b10101010` (十进制 146)
- `b = 0b01010101` (十进制 65)
如果我们执行 `a ^ b`,结果将是:
- `c = 0b11111111` (十进制 255)
在 Python 的代码中,你可以这样使用:
```python
a = 0b10101010
b = 0b01010101
c = a ^ b
print(bin(c)) # 输出:0b11111111
```
用python写一下选数异或的代码
# 定义一个函数
def xor_func(a, b):
if a == b:
return 0
else:
return 1
# 调用函数
xor_func(1, 0) # 输出 1
阅读全文