一、运算符
1) 比较运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
!= 不等于
<> 不等于
== 等于
2)逻辑运算符
and【且】 例子: 条件1 and 条件2
or【或】 例子: 条件1 or 条件2
not【非】 例子: not 条件1
用于判断两个或者多个条件的时候需要使用
-
例子:num中存储一个数字,判断这个 数字是否大于几,而且是偶数。这里其实就是有两个条件,而且这两个条件需要同时满足。
-
例子:num中存储一个数字,判断这个 数字是否大于几,或者小于几,这里有两个条件,这两个条件只需要满足任意一个即可。
-
例子:num中存储一个数字,判断这个 数字是否不是几。这里就一个条件,满足这个条件即可。
案例:让用户输入一个数字,判断数字是否大于10,如果大于10,输出ok,在输出over
# 让用户输入一个数字
num = input("请输入一个数字:")
# 将用户的数字转换为数字类型
num = int(num)# 判断这个数是否小于10
if num > 10:
# 小于10输入ok
print("ok")# 大于10输入over
print("over)
案例:让用户输入一个数字,判断数字是否大于10,而且小于20,输出ok,在输出over
# 让用户输入一个数字
num = input("请输入一个数字:")
# 将用户的数字转换为数字类型
num = int(num)# 如果num大于10,并且小于20
if num > 10 and num < 20:
#则输入ok
print("ok")#否则输入over
print("over")
# 案例:让用户输入一个数字 将用户的数字转换为数字类型
方法一:
num = input("请输入一个数字:")
num = int(num)if num > 10 or num < 5:
print("ok")
print("over")
方法二:
num =int(input("请输入一个数字:"))
print("ok") if (num > 10) or( num <5) else print("over")
案例;让用户输入一个数字,判断数字是否为3,如果是3,就是输出ok,否则输出over
num = input("请输入一个数字:")
num = int(num)if num == 3:
print("ok")
else:
print("over")
二、if条件判断
1)bool类型
布尔类型
-
这种类型的值只有两种可能,也就是它的值只有真和假俩种
python中的真有几种表示方式
-
True:表示判断结果为真,也就是条件成立
-
1:表示判断结果为真,也就是条件成立
python中的假有几种表示方式
-
False:表示判断结果为假,也就是条件不成立
-
0:表示判断结果为假,也就是条件不成立
-
”“:这是空字符串,这也表示判断结果为假,也就是条件不成立
-
():
-
[]
-
{}
2) if语法格式
#格式1:单分支:仅仅判断一个条件,而且仅仅指定了当条件成立的时候要执行的代码
if 判断条件:
代码
代码
代码
#格式2:双分支:仅仅判断一个条件,但不仅指定了当条件成立的时候要执行的代码,也指定了条件不成立执行的代码
if 判断条件:
代码1
代码1
else:
代码2
代码2解释:当条件成立,执行代码1;当条件不成立,执行代码2
#格式3:多分支:可以判断多个条件,满足不同的条件,执行不同的代码
if 判断条件1:
代码1
代码1
elif 判断条件2:
代码2
代码2
elif 判断条件3:
代码3
代码3
...
else:
代码n
代码n
# 解释
先判断条件1是否满足,如果满足条件1,则执行代码1,代码1执行完成,直接结束程序
先判断条件1是不否满足,则判断条件2
如果条件2满足,则执行代码2,代码2执行完成,直接结束程序
如果条件2不满足,则判断条件3
...
如果所有的条件都不满足,则执行代码n
案例1:让用户输入一个成绩,判断成绩是否大于60,如果大于等于60,就显示及格【单分支】
chengji = int(input("请输入您的成绩:"))
if chengji > 60:
print("你的成绩及格")
案例2:让用户输入一个成绩,判断成绩是否大于60
-
如果大于等于60,就显示及格
-
如果小于60,就显示不及格
chengji = int(input("请输入您的成绩:"))
if chengji >= 60:
print("你的成绩及格")
else:
print("你的成绩不及格")
案例3:让用户输入一个成绩
-
如果成绩小于60,输出:等级E
-
如果成绩60~70,输出:等级D
-
如果成绩70~80,输出:等级C
-
如果成绩80~90,输出:等级B
-
如果成绩90~100,输出:等级A
方法一:
num = int(input("请输入你的成绩:"))
if num >=90:
print("你的成绩是等级A")
elif num >=80:
print("你的成绩是等级B")
elif num >=70:
print("你的成绩是等级C")
elif num >=60:
print("你的成绩是等级D")
else:
print("您输入错误")
方法二:
#让用户输入一个成绩
score = int(input("请输入成绩:"))#判断成绩是否小于60
if score < 60:
print("等级E")
#判断是否大于等于60,小于70
elif score >= 60 and score < 70:
print("等级D")
elif score >= 70 and score < 80:
print("等级C")
elif score >= 80 and score < 90:
print("等级B")
elif score >= 90 and score < 100:
print("等级A")
else:
print("您输入错误")
错误案例
#让用户输入一个成绩
score = int(input("请输入成绩:"))if score < 60:
print("等级E")
elif score >=60:
print("等级D")
elif score >=70:
print("等级C")
elif score >=80:
print("等级B")
elif score >=90:
print("等级A")
else:
print("您输入错误")
3)判断对象
-
数字:可以用 > , >=, <, <=, ==, !=
-
字符:可以用==, !=
案例:判断用户是否继续执行操作
shuchu =input("请输入Y|N:")
if shuchu == "y" or shuchu == "Y":
print("请继续程序")
elif shuchu == "n" or shuchu == "N":
print("请退出程序")
else:
print("您输入错误")
4)三元表达式
-
对于一些简单的判断,往往不需要写完整的if,就可以达到目的
格式1:
代码1 if 判断条件 else 代码2
-
如果条件成立,执行代码1
-
如果条件不成立,执行代码2
案例:
让用户输入两个数字,输出大的数
常规格式
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))if num1 > num2:
print(num1)
else:
print(num2)
三元表达式格式
num1 = int(input("请输入第一个数字:"))
num2 = int(input("请输入第二个数字:"))
print(num1) if num1 > num2 else print(num2)
5)random模块
-
通过random模块可以生成随机数
案例1:生成一个1-100的随机数
#coding=utf-8
# 导入模块
import random# 生成一个0-100的随机数
num = random.randint(0,100)# 显示所生成的随机数【每次执行程序,都会随机生成同一个数字】
print(num)
案例2:猜拳游戏
import random
ege = random.randint(0,2)
name = int(input("请选择石头是(0),剪刀是(1),布是(2) :"))
if (name == 2 and ege == 0) or (name == 1 and ege == 0) or (name == 1 and ege == 0): print("你赢了")
elif
name == ege:
print("平局")
else:
print("你输了")
三、循环
1)while循环
格式1
while 判断条件:
代码
代码
代码
代码
工作逻辑【执行流程】
第一步:首先判断条件是否满足
-
如果满足:开始执行循环中的的代码,代码执行完成以后,再次去判断条件是否满足
-
如果不满足:跳过循环
格式2:
while 判断条件:
代码1
代码1
代码1
else: # else中的代码当while循环中的代码执行完成以后,才会执行
代码2
代码2
-
当条件成立的时候,会执行代码1
-
当条件不成立,就会去执行代码2
案例1:让用户输入一个数字,判断数字是否大于5
-
如果大于5,则输出这个数字,并让数字减去1,然后重复进行判断,并进行减法操作,直至数字小于等于5
name = int(input("请输入一个数字")
while num > 5:
print(num)
num = num - 1
print("ok")
print("over")
案例1:计算1+2+3...100
ege = 0
name =1
while name <= 100:
ege = name + ege
name +=1
print(ege)
案例2:让用户输入一个数字,判断这个数字是奇数还是偶数
ege = int(input("请输入数字:"))
if ege%2 == 0:
print("偶数")
else:
print("奇数")
案例3:计算1-100的偶数和
# 定义一个空变量,用于保存计算求和的结果
sum = 0
# 定义变量保存起始的数字
num = 1while num <= 100:
if num%2 == 0:
sum = sum + num
num = num + 1
print(sum)
案例4:输出1-100的数字,要求输出结果是 1 2 3 4 5 .. 100 要求结果在一行
num = 1
while num <= 100:
print(num,end=' ')
num = num + 1
补充:输出结果不换行
-
end=' 符号 ',作用就是将换行符替换成指定的符号
3.2 for循环
for和while循环的使用区别
-
while循环适合用在死循环或者循环次数不确定的情况
-
for循环适合用在循环次数明确的情况
格式:
for 变量 in 列表:
代码1
代码1
else: # 当for循环结束的时候,才会去执行else中的代码2
代码2
代码2
案例:让用户随意输入点内容,然后注意输出每个字符
name = input("请输入内容")
for char in name:
print(char)
print("输出完成")
else:
print("输出结束")
案例:打印99乘法表
1*1 = 1
1*2 = 2 2*2 =4
1*3 = 3 2*3 =6 3*3 = 99*9 = 81
如下
num = 1 while num <= 9: car = 1 while car <= num: print("%d * %d = %d " %(car,num,car*num),end=" ") if car == num: print(" ") car += 1 num += 1
3.3 range方法
- range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
-
写法1:range(stop)
-
只写一个数,那么这个数字就是最大值加1
-
-
写法2:range(start, stop)
-
写两个数,那么前面的是数字是起始值,后面的这个数字就是最大值加1
-
-
写法3:range(start, stop, step)
range(start, stop, step)
-
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
-
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
-
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
案例1:输出1-100的数字
方法1:
n=1
while n<=100:
print(n)
n+=1
方法2:
for num in range(1,101):
print(num)
案例2:输出1-100中的3的倍数
方法1:
n=1
while n<=100:
if n%3 == 0:
print(n)
n+=1
方法2:
for num in range(1,101):
if num%3 == 0:
print(num)
方法3:
for num in range(3,101,3):
print(num)
for和while循环的使用区别
-
while循环适合用在死循环或者循环次数不确定的情况
-
for循环适合用在循环次数明确的情况
四、循环控制
-
break:当循环中,执行到break,循环立刻停止
-
continue:当循环中,执行到continue,终止当前这次循环,直接开始下一次循环
- 案例1:
n=0
while n<20:
n+=1
print("这是第%d次循环"%(n))
if n == 10:
continue
print(n)
案例2:
n=0
while n<20:
n+=1
print("这是第%d次循环"%(n))
if n == 10:
break
print(n)
案例3:让用户判断是否继续执行
-
如果用户输入y,就提示继续执行
-
如果用户输入N,就提示停止执行
-
如果用户输入错误,要求用户重新输入,但是最多重试3次
n = 0
while n<3:
n += 1
userInput = input("是否继续输入[Y|N]:")
if userInput == 'Y' or userInput == 'y':
print("继续执行")
break
elif userInput == 'N' or userInput == 'n':
print("停止执行")
break
else:
print("输入错误,请重拾")