709. 转换成小写字母
- 题目:给你一个字符串
s
,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串 - 思路:大写的ascii值 + 32 = 对应小写字母的ascii
- 通过位或运算实现替换+32的操作
\[ A (65) : \ 1 0 0 0 0 0 1 \\
||\ \ \ 32: \ 0 1 0 0 0 0 0 \\
= a (97) : \ 1 1 0 0 0 0 1
\]
- 代码:
class Solution:
def toLowerCase(self, s: str) -> str:
# return ''.join(chr(asc + 32) if 65<= (asc:=ord(i)) <= 90 else i for i in s)
return ''.join(chr(asc | 32) if 65<= (asc:=ord(i)) <= 90 else i for i in s)
海象运算符
- 没有 :=
# 先定义,再使用
age = 20
if age > 18:
print("已经成年了")
- 运用 :=
# 在判别式中 声明+使用
if (age:= 20) > 18:
print("已经成年了")
- 没有 :=
file = open("demo.txt", "r")
while True:
# 先定义
line = file.readline()
# 再使用
if not line:
break
print(line.strip())
- 运用 :=
file = open("demo.txt", "r")
# 声明+使用
while (line := file.readline()):
print(line.strip())