is
id
, 也即是cpython中的地址in
运算 | 含义 |
---|---|
< | 严格小于 |
<= | 小于或等于 |
> | 严格大于 |
>= | 大于或等于 |
== | 等于 |
!= | 不等于 |
运算 | 结果 |
---|---|
x or y | 如果x为True, 返回x, 否则返回y |
x and y | 如果x为False, 返回x, 否则返回y |
not x | 如果x为False, 返回True, 否则返回False |
or
是个短路运算符,因此只有在第一个参数为假值时才会对第二个参数求值and
是个短路运算符,因此只有在第一个参数为真值时才会对第二个参数求值not
的优先级比非布尔运算符低,因此 not a == b
会被解读为 not (a == b)
而 a == not b
会引发语法错误当要进行用户信息匹配时, 要求用户输入用户名和密码进行匹配, 匹配成功就运行用户进入系统
username = "dyp"
password = "abcd1234"
if username == (name := input("输入用户名:")) and password == (passwd := input("输入密码")):
print("登录完成, 欢迎进入系统")
elif username != name:
print("用户名输入有误")
elif password != passwd:
print("密码有误")
else:
print("您还未注册账户, 请注册")
elif
是else if
的缩写elif
部分,以及一个可选的 else
部分if ... elif ... elif ...
序列可以看作是其他语言中的 switch 或 case
语句的替代三目运算符
return_value_A if 条件 else return_value_B
比如到银行取钱时, 需要密码, 且只能输入三次, 只要有一次正确就能进入账户.
倘若, 三次都不正确则锁定账户.
passwd = "123456"
i = 0
while i < 3:
password = input("输入密码: ")
if passwd == password:
print("成功进入账户")
break # 跳出最近成循环
else:
i += 1
if (i-1) == 2:
print("账户已锁定")
if input("是否再次尝试, yes|y").casefold() in ["yes", ‘y‘]:
i = 0
else:
continue # 跳过当前循环
break
: 跳出最近一层循环continue
: 跳过当前一次循环while
后面条件控制循环次数.while 1:
的性能要比while True
要好break
打断使用else
子句:while 条件:
条件成立执行
else:
没有被break打断时执行
Python 中的 for 语句是对任意序列进行迭代(例如列表或字符串),条目的迭代顺序与它们在序列中出现的顺序一致
words = [‘cat‘, ‘window‘, ‘defenestrate‘]
for w in words:
print(w, len(w))
else:
print("迭代完成")
w
, 用于在循环中使用for
语句也是有else
子句的. 也可以使用break 和 continue
来进行循环控制range
对象使用在for
循环语句中打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{i}*{j}={i*j}\t", end="")
print()
结果如下:
>>> for i in range(1, 10):
... for j in range(1, i+1):
... print(f"{i}*{j}={i*j}\t", end="")
... print()
...
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
原文:https://www.cnblogs.com/duyupeng/p/13068844.html