python基础学习-9

流程控制(1)

8.1.1python三大结构

顺序结构

  • 程序从上往下进行执行

分支结构

  • 根据条件成立与否,选择相应的代码执行

循环结构

  • 根据条件重复执行代码,满足条件就执行,不满足就停止

8.2.1分支结构

1、单分支结构(if…)

if 条件:
	代码语句
	
age = int(input('请输入年龄'))
if age>18 :
    print('可以玩原神')

补充: 缩进tab键(四个空格)-----表示代码的权限

2、双分支结构if…else

  • 如果满足条件就执行a语句,否则执行b语句
if 条件:
	语句a
else:
	语句b


age = int(input('请输入年龄'))

if age >= 18:
    print('你已经成年了')
else:
    print('你是未成年')

3、多分支结构(if…elif…else)

if 条件:
	执行
elif 条件:
	执行
elif 条件:
	执行
else:
	执行
	
# bmi指数 = 体重kg/身高**2
'''
bmi  小于18.4 瘦
18.5-23.9 标准
24-27.9  微胖
28  --胖
'''
hi = float(input('请输入你的身高:m'))
wi = float(input('请输入你的体重:kg'))
bmi = wi/(hi**2)




if bmi<=18.4:
    print('太瘦了多吃点')
elif bmi>=18.5 and bmi<=23.9:
    print('标准身材')
elif bmi>=24 and bmi <=27.9:
    print('微胖')
elif bmi>=28:
    print('注意运动')

4、pass语句(空语句,执行的时候没有任何的内容)

  • 只有占位置的作用
age = int(input('请输入年龄'))
if age>18 :
    pass

8.3.1循环结构

(1)while结构

  • 满足条件就一直执行,不满足条件就停止。
  • 条件为真就执行,条件为假就停止
a = 0
while a<10:
    print(f'这是循环的第{a}')
    a+=1
print('循环结束')

while 1(True):----(指定条件位真就会无限循环)
    print(f'1')


while 1 :
    a = input('请输入口令')
    if a== '芝麻开门':
        break

(2)for循环(遍历)

  • for循环的次数跟成员个数有关
  • for后面的变量可以直接写不需要赋值
  • for循环的变量就是可迭代对象的成员
for 变量名 in 对象(可迭代对象):
	代码语句

什么是可迭代对象:可以进行遍历的对象。
可迭代对象:列表,元组,字典集合,字符串,文件,生成器 都是可迭代对象。
遍历:把可迭代对象的成员进行挨个访问。访问完之后循环停止。

#我来说就是一个一个访问


singer = ['张杰','五百','刘德华','邓紫棋']
for i in singer:
    if i =='刘德华':
        print(i+'我是华仔')
#输出到刘德华的时候会输出
#刘德华我是华仔
a = {1:2,3:4,5:6}
for i in a:
    print(i)
    print(a[i])
遍历字典的话:i是字典的键
#就是说遍历完输出的是键咯

while循环根据条件满足与否进行循环,for循环根据对象进行遍历循环。

range 函数

生成指定区间的整数

for i in range(1,10): 包头不包尾
    print(i)
for i in range(1,10,2): 指定步长
    print(i)
for i in range(10): 省略开头 默认从0开始
    print(i)
for i in range(0,101,2): 打印0-100 的偶数
    print(i) 

流程控制(2)

9.1.1分支结构的嵌套

if 条件:
	if···
		if···

elif
	if···
		if····
else


# 考试成绩分数90以上包含90 就可以进行抽奖活动

grade = int(input('请输入你的成绩'))

if grade>=90:
    print('恭喜你获得抽奖机会')
    y = int(input('请输入抽奖号码'))
    if y==20:
        print('apple手机')
    elif y == 10:
        print('现金红包1000000')
    elif y == 8:
        print('高端笔记本666个')
    else:
        print('十支笔')

else:
    print('罚抄笔记,好好学习')

9.1.2 循环结构的嵌套

for i in range(1,6):
    print(f'这是第{i}次循环')
    day = 0
    while day<7:
        day+=1
        print(f'这是第{day}天')
# 外层循环进行一次,内层循环就进行一个完整的循环

9.1.3分支结构与循环结构的嵌套

singer = ['刘欢','周杰伦','邓紫棋','刘德华','张杰','五百','许嵩','王菲','陈奕迅']
singer_3 = []
for i in singer:
    if len(i) ==3:
        singer_3.append(i)
print(singer_3)


-------------------------------------
s = 5
while s>0:
    str1 = input('输入口令')
    if str1 =='芝麻开门':
        break
    s -= 1
    print('指令错误,重新输入')
if s == 0:
    print('非法人员立即远离')
    #五次机会输入的说

9.1.4 循环终止语句

break:跳出循环–跳出整个循环

continue:跳过本次循环,继续下次循环

s = 5
while s>0:
    str1 = input('输入口令')
    if str1 =='芝麻开门':
        print('欢迎光临')
        break
    s -= 1
    print('指令错误,重新输入')
if s == 0:
    print('非法人员立即远离')

--------------------------------
for i in range(1,11):
    if i ==3:
        print(f'停电了')
        break
    print(f'第{i}个员工工作')
-----------------------------
for i in range(1,11):
    if i == 3:
        print(f'请假了')
        continue
    print(f'第{i}个员工工作')

小练习:

1、进行1-100数字累加 

2、做一个石头剪刀布游戏

      import random

      li1 = ['剪刀','石头','布']

      ai = random.choice(li1)

      player = input('请出拳')

      print(ai)

3、制作一个九九乘法表,输出阶梯式九九乘法表

流程控制小练习答案:

#1-100的数字累加

s = 0
for i in range(1,101):
    print(i)
    s += i
print(f'{i},{s}')
---------------------
num = 0
s = 0

while num<100:
    num += 1
    print(num)
    s += num
print(f'{num},{s}')
----------------------
num = 1
s = 0

while num<101:
    print(num)
    s += num
    num += 1
print(f'{num},{s}')

#2剪刀石头布
import random
li1 = ['剪刀','石头','布']
ai = random.choice(li1)
player = input('请出拳')
print(ai)
if ai == player:
    print('平局')
elif player=='剪刀' and ai=='布' or player=='布' and ai=='石头' or player=='石头' and ai=='剪刀':
    print('你赢了')
else:
    print('你输了')
--------------------------------------
import random
li1 = ['剪刀','石头','布']
ai = random.choice(li1)
player = input('请出拳')

win = {'石头':'剪刀','剪刀':'布','布':'石头'}
if player == ai:
    print('平局')
elif win[player] == ai:
    print('你赢了')
else:
    print('你输了')

3、

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}",sep='',end='\t')
        print()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值