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())
posted @ 2022-03-31 09:18  ArdenWang  阅读(15)  评论(0编辑  收藏  举报