if语句的分类
几乎所有的编程语言的代码有三种语句:
=顺序语句
=判断语句/分支语句/开关语句:if else / switch case / case when
=循环语句:for / while / do while
if语句
-
if的判断语句示例:
- 类型1
if True:
print('永远为真')
if False:
print('永远为假')
# 0就是假
if 0:
print('if后边是0')
# 非0就是真
if -1:
print('if后边是非0')
# 有内容字符串就是真
if 'hello':
print('if后边是有内容的字符串')
# 无内容字符串就是假
if '':
print('if后边是无内容的空字符串')
# 真,空格也是字符
if ' ':
print('if后边是空格字符串')
# 假
if 0.0:
print('if后边是0.0')
# 真
if 0.1:
print('if后边是0.1')
# 假,类似其他语言的null
if None:
print('if后边是None')
- 类型2
- 示例代码如下,重在灵活运用
# 男生找对象:要么漂亮、要么贤惠、要么有钱
if '漂亮' or '贤惠' or '有钱':
print('可以')
# 女生找对象:既要高、又要富、还要帅
# 女生找对象
if '高' and '富' and '帅':
print('可以')
# 将不能结婚的条件取反,就是能结婚的条件
if not '不能结婚的条件' :
print('可以结婚')
#-------------------------------------------------------
num = int(input('请输入一个数:'))
#判断一个数能否被3整除,同时能够被7整除,或者这个数是0
if (num % 3 == 0 and num % 7 == 0) or (num == 0):
print(f'{num}满足要求')
# ---------------------------------------------
print('--------方式1---------')
if 3 <= num <= 10:
print('num在3到10之间')
print('--------方式2---------')
if num >= 3 and num <= 10:
print('num在3到10之间')
if格式1如下:
语法:
if 条件 :
满足条件要执行的代码
示例代码1:
# 从键盘输入一个年龄
age = int(input('请输入你的年龄:'))
#使用if进行判断
if age >= 18:
print('你已经成年了!')
print('可以进网吧了!')
print('可以独立生活!')
print('程序结束!')
示例代码2:
# 从键盘输入一个年龄
age = int(input('请输入你的年龄:'))
sex = input('请输入你的性别:')
#使用if进行判断
if age >= 18:
print('你已经成年了!')
print('可以进网吧了!')
print('可以独立生活!')
if sex == '男':
if age >= 22:
print('你这个男的可以结婚了!')
if sex == '女':
if age >= 20:
print('你这个靓女可以结婚了!')
print('程序结束!')
if格式2如下:
语法:
if 条件 :
满足条件要执行的代码
else:
不满足条件要执行的代码
示例代码:
# 要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票
import sys
age = int(input('请输入你的年龄:'))
if age < 0 or age > 140:
print('你输入的年龄不合法,程序退出!')
sys.exit(0)
sex = input('请输入你的性别:')
if sex != '男' and sex != '女':
print('你输入的性别不合法,程序退出!')
sys.exit(0)
if age >= 18:
if sex == '男':
if age >= 22:
print('你这个男的可以结婚了!')
else:
print('你这个男的还没有到法定结婚年龄')
else:
if age >= 20:
print('你这个靓女的可以结婚了!')
else:
print('你这个靓女没有到达法定年龄!')
else:
print('你还未成年,好好读书!')
if格式3如下:
语法:
if 条件1 :
满足条件1要执行的代码
elif 条件2:
满足条件2要执行的代码
elif 条件3:
满足条件3要执行的代码
else:
以上所有条件都不满足要执行的代码
示例代码1:
# 要求:键盘录入季节 --输出对应的季节活动.
season = input('请输入季节:')
if season == '春季':
print('春节适合踏春!')
elif season == '夏季':
print('夏季适合游泳!')
elif season == '秋季':
print('秋季适合秋收!')
elif season == '冬季':
print('冬季适合赏雪!')
else:
print('你输入的季节有误!')
示例代码2:
# 要求:自己动手:键盘录入考试的分数.输出对应的级别
# 90-100优秀,70-90良好,60-70及格,低于60不及格
import sys
score = int(input('请输入你的分数:'))
if score < 0 or score > 100:
print('你输入的成绩有误!')
sys.exit(0)
if 90 <= score <= 100:
print('成绩优秀!')
elif score >= 70:
print('成绩良好!')
elif score >= 60:
print('成绩良好!')
else:
print('成绩不及格!')
示例代码3:
# 情节描述:上公交车,并且可以有座位坐下
# 要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
balance = float(input("请输入公交卡余额:"))
seat = 0
if balance >= 2:
print('公主请上车!')
if seat >= 1:
print('公主请坐下!')
else:
print('公主请站着!')
else:
print('公主请充钱!')
综合案例汇总如下,建议实操三遍加深记忆!!!
"""
1. 设置两个玩家 player computer
2. player: 从控制台输⼊要出的拳 ⽯头(1)/剪⼑(2)/布(3)
3. computer: 电脑 随机 出拳
4. player和computer⽐较胜负
"""
import random #import -->表示导入模块 -->random(随机模块)
# 1、客户出拳
import sys #sys(导入sys工具,调用exit方法,当符合条件时执行程序退出命令)
player = int(input("请出拳:")) #player(变量容器名) int(表示整数类型) input(接收键盘输入的数据)
if player not in (1 ,2 ,3):
print('你输入非法')
sys.exit(0)
# 2、电脑出拳
computer = random.randint(1, 3) #产生1到3之间的随机数,包含1和3
if computer == 1:
print('电脑出的是石头')
if computer == 2:
print('电脑出的是剪刀')
if computer == 3:
print('电脑出的是布')
# 3、player和computer⽐较胜负
if player == computer:
print('平局!')
elif (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print('玩家赢!')
else:
print('电脑赢! ')
循环语句 <注:如不理解就debug调式看参数与依赖关系>
while循环
语法:
#初始化语句
while 判断条件:
循环体
改变条件的语句
示例代码1如下:
i = 1 # 初始化语句,只会执行一次
while i <= 5: # 满足条件,会就执行循环体
print('媳妇儿,我错了') # 循环体
i = i + 1 # 改变循环条件
示例代码2如下<加强版>:
#需求: 1+2+3+4+5+...100
sum = 0
i = 1
while i <= 100:
sum = sum + i
i += 1
print(f'sum全部和 = {sum}')
print('-------------------------------')
#需求: 1+2+3+4+5+...100 的偶数和
sum = 0
i = 0
while i <= 100:
sum = sum + i
i += 2
print(f'sum偶数和 = {sum}')
print('-------------------------------')
#需求: 1+2+3+4+5+...100 的偶数和
sum = 0
i = 1
while i <= 100:
if i % 2 == 0:
sum = sum + i
i += 1
print(f'sum偶数和 = {sum}')
break 和continue关键字
功能介绍:
1、在一个循环中,遇到break,则跳出本层循环,执行循环后边的内容
2、在一个循环中,遇到continue,则跳过这次循环剩余的代码,执行下一次循环
示例代码如下:
# 1、需求输出1-10之间的数字,需要4就退出
# 在一个循环中,遇到break,则跳出整个循环,执行循环后边的内容
i = 1
while i <= 10:
if i == 4:
break
print(i)
i += 1
print('程序结束')
print('---------------------------------')
# 在一个循环中,遇到continue,则跳过这次循环剩余的代码,执行下一次循环
# 2、需求输出1-10之间的数字,需要4就跳过 1 2 3 5 6 7
i = 0
while i < 10:
i += 1
if i == 4:
continue
print(i)
print('程序结束')
循环嵌套
# 小学教程如下:
i = 1
while i <= 20:
j = 1
while j <= 50:
print('*',end='')
j += 1
print()
i += 1
# 初中强度如下:
i = 1
while i <= 10: #天
j = 1
while j <= 3: #圈
print(f'今天是第{i}天,在跑第{j}圈!')
j += 1
i +=1
print('--------------------------------------')
"""
********
********
********
********
********
"""
i = 1
while i <= 5: #行
j = 1
while j <= 7: #列
print('*',end='')
j += 1
print() # 换行
i += 1
print('--------------------------------------')
"""
i j
第1行: 7颗星
第2行: 6颗星
第3行: 5颗星
第4行: 4颗星
第5行: 3颗星
第6行: 2颗星
第7行: 1颗星
第i行: (8-i)颗星
"""
print('--------------------------------------')
i = 1
while i <= 7: #行
j = 8-i
while j >= 1: #列
print('*',end='')
j -= 1
print() # 换行
i += 1
print('--------------------------------------')
'''
*
***
*****
*******
---------------------------
i k
第1行: 1颗星
第2行: 3颗星
第3行: 5颗星
第4行: 7颗星
第i行: 2*i - 1颗星
---------------------------
i j
第1行: 3空格
第2行: 2空格
第3行: 1空格
第4行: 0空格
第i行: 4-i空格
'''
i = 1
while i <= 4:
j = 4-i
while j >= 1: #打印空格
print(' ', end='')
j -= 1
k = 1
while k <= 2 * i - 1: #打印*
print('*',end='')
k += 1
print()
i += 1
---------------------------
i = 1
while i <= 7:
j = 1
while j <= 8 - i :
print("*",end='')
j += 1
print()
i += 1
for循环
语法:
for 临时变量 in 列表或者字符串等:
循环满足条件时执行的代码
特点:
1、在for语句中,in的后边只能跟字符串和其他容器(元组,列表、字典)
2、for语句一般用来进行遍历(把容器中的元素一个个的获取)
示例代码如下:
name = 'zhangsan'
for x in name:
print(x)
#------------------------------
num = 153
for x in str(num):
print(x)