Python第2天
语句的分类
几乎所有的编程语言的代码有三种语句:
=顺序语句
=判断语句/分支语句/开关语句: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之间')
格式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('程序结束!')
格式2
-
语法
if 条件 : 满足条件要执行的代码 else: 不满足条件要执行的代码
-
代码1
-
代码2
# 要求:从键盘输入身高,如果身高没有超过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('你还未成年,好好读书!')
格式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
# 1、客户出拳
import sys
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('电脑赢! ')
循环语句
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语句一般用来进行遍历(把容器中的元素一个个的获取)
-
代码1
name = 'zhangsan' for x in name: print(x) #------------------------------ num = 153 for x in str(num): print(x)
print()
i += 1
i = 1
while i <= 7:
j = 1
while j <= 8 - i :
print("*",end='')
j += 1
print()
i += 1
### for循环
+ 语法
```shell
for 临时变量 in 列表或者字符串等:
循环满足条件时执行的代码
-
特点
1、在for语句中,in的后边只能跟字符串和其他容器(元组,列表、字典) 2、for语句一般用来进行遍历(把容器中的元素一个个的获取)
-
代码1
name = 'zhangsan' for x in name: print(x) #------------------------------ num = 153 for x in str(num): print(x)