3.运算符
3.1 常见的运算符
算数运算符
运算符 | 描述 | 示例 |
---|---|---|
+ | 加 | |
- | 减 | |
* | 乘 | |
/ | 除 | |
% | 取模-返回除法的余数 | 10%3结果输出1 |
** | 指数-幂,x的y次幂 | 2**3结果输出位8 |
// | 整除-返回商的整数部分 | 9//2 结果输出为4 9.0//2.0结果输出位4.0 |
比较运算符
运算符 | 描述 |
---|---|
== | 等于:比较对象是否相等 |
!= | 不等于:比较对象是否不相等 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
逻辑运算符
运算符 | 描述 |
---|---|
and | 如果两个操作数都为 True,则为 True,否则为 False |
or | 如果两个操作数中有一个为 True,则为 True,否则为 False |
not | 如果操作数为 True,则为 False,否则为 True |
赋值运算符
运算符 | 描述 | 示例 |
---|---|---|
= | 简单赋值运算符 | C=A+B将A和B的运算结果赋值给C |
+= | 加法赋值运算符 | C+=A:等效于C=C+A |
-= | 减法赋值运算符 | C-=A:等效于C=C-A |
*= | 乘法赋值运算 | C*=A:等效于C=C * A |
/= | 除法赋值运算 | C/=A:等效于C=C/A |
%= | 取模赋值运算符 | C%=A:等效于C=C%A |
**= | 幂赋值运算符 | C ** =A:等效于C=C ** A |
//= | 取整除赋值运算符 | C//=A:等效于C=C//A |
成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
3.2 运算符优先级
- 算数优先级大于比较运算符
if 2 + 10 > 11 :
print ("真的")
else :
print ("假的")
- 比较运算符优先级大于逻辑运算符
if 2 > 10 and 2 < 11 :
print ("真的")
else :
print ("假的")
- 逻辑运算符内部三个优先级 not > and > or
if not 1 and 1 > 2 or 3==8 : # 逻辑运算符内部三个优先级 not > and > or
print ("真的")
else :
print ("假的")
结果输出:假的
注意:上述3个优先级从高到低总结:加减乘除 > 比较 > not and or
绝招:加括号
3.3 面试题
v1 = "linzai" and "123455"
# 第一步:将and前后的值转换成布尔值, True and True
# 第二部:判断本次操作取决于谁?由于前面的是 True,所以本次取决于后面的值
# 所以后面的值等于多少,结果最终就是多少。v1=123455
print (v1)
v2 = "" and "linzai"
# 第一步:将and前后的值转换成布尔值,False and True
# 第二部:判断本次操作取决于谁?由于前面的是 False,所以本次取决于前面的值
# 所以后面的值等于多少,结果最终就是多少。v2=" "
print (v2)
v3 = 1 or 8
# 第一步:将or前后的值转换成布尔值,True and True
# 第二部:判断本次操作取决于谁?由于前面的是True,所以本次取决于前面的值
# 所以后面的值等于多少,结果最终就是多少。v3=1
print (v3)
v4 = 0 or 8
# 第一步:将or前后的值转换成布尔值,False and True
# 第二部:判断本次操作取决于谁?由于前面的是False,所以本次取决于后面的值
# 所以后面的值等于多少,结果最终就是多少。v4=8
print (v4)
# or 主要是看第一个值,如果第一个是真的,结果就是第一个值,否则结果是第二个值
# and 先看第一个值,如果第一个是真的,结果就是第二个值,否则结果是第一个值
# 如果同时出现and和or,先计算and后计算or
3.4 练习题
1.实现用户登录系统,并且要支持连续三次输错之后直接退出,并且在每次输错误时显示剩余错误次数(提示:使用字符串格式化)。
# 方法1
count = 0
while count < 3:
count += 1
name = input("请输入您的名字:")
password = input("请输入您的密码:")
if name == "琳仔" and password == "123567" :
print ("登录成功")
break
else :
print ("用户名或密码输入错误,剩余输入次数为{}次" .format(3 - count))
# 方法2
count = 3
while count > 0:
count -= 1
name = input("请输入您的名字:")
password = input("请输入您的密码:")
if name == "琳仔" and password == "123567" :
print ("登录成功")
break
else :
print ("用户名或密码输入错误,剩余输入次数为{}次" .format(count))
2.猜年龄游戏
要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出。
count = 0
while count < 3 :
count += 1
age = int(input ("请输入数字:")) # 必须转换成整型
if age == 26 :
print ("猜对了")
break
else :
print ("猜错了,还有{}次机会。" .format(3-count))
3.猜年龄游戏升级版
要求:允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。
count = 0
while count < 3:
count += 1
age = int(input("请输入数字:"))
if age == 26:
print("猜对了")
break
else:
print("猜错了,还有{}次机会。".format(3 - count))
if count == 3:
choice = input("请输入是否继续尝试:Y/N")
if choice == "N":
print("尝试结束")
break
elif choice == "Y":
count = 0
continue
else:
print("输入错误")
break
print("游戏结束")
标签:count,03,False,Python,运算符,print,True,赋值
From: https://www.cnblogs.com/linzaidehouhuayuan/p/17921776.html