循环语句
for循环
for循环通常用来遍历序列,迭代对象中的元素,一般应用在循环次数已知的情况下。
语法格式
#迭代变量用于保存读取出的值,对象为可遍历可迭代的,如序列:字符串,列表,元素等; for 迭代变量 in 对象: 语句
案例
# i变量依次取出列表中的值 for i in [1,2,3,4,5]: print(i,end=' ')#输出 1 2 3 4 5
range函数的使用
用于生成一系列连续的整数,多用于for循环中。
语法格式
range(start,end,step) start:指定起始值,默认从0开始 end:指定结束值,但不包括此值,如range(6)包括0 1 2 3 4 5 step:步长,默认为1,如果为range(1,6,2)则包括1 3 5
案例
#使用range()完成范围指定 print(range(8)) #包含0不包含8,如0,1,2,3,4,5,6,7 #打印3次hello for i in range(3): #相当于每次循环取出一个值,执行一遍hello,取完所有值循环也就结束了。 print('hello--->',i) #输出10以内不包括10所有的奇数 for i in range(1,10,2): print(i,end=' ')#输出 1 3 5 7 9 #循环吃5个馒头 name='赵飞' for i in range(1,6): print('{}很饿,正在吃第{}个馒头'.format(name,i)) #循环嵌套if结构语句 name = '张无忌' for i in range(1,6): if i==3: print('{}把这个馒头喂了狗。'.format(name)) else: print('{}很饿,正在吃第{}个馒头。'.format(name,i))
当range(0)时,什么也没有,range(1)时,里面有0
for i in range(1): print(i) #输出 0 for i in range(0): print(i) #什么也没有
range(m,n,step)
#step步长 for i in range(1,50,5): print('--->',i) --------------------------- ---> 1 ---> 6 ---> 11 ---> 16 ---> 21 ---> 26 ---> 31 ---> 36 ---> 41 ---> 46
for-else循环
当for执行完毕或者没有循环数据时,才会执行else
name='赵飞' num = int(input('请输入需要蛋糕的数量:')) for i in range(num): print('{}的肚子很饿,正在吃第{}个蛋糕。'.format(name,i+1)) else: print('{}饿哭了'.format(name)) ----------------脚本执行结果------------------------- 请输入需要蛋糕的数量:3 赵飞的肚子很饿,正在吃第1个蛋糕。 赵飞的肚子很饿,正在吃第2个蛋糕。 赵飞的肚子很饿,正在吃第3个蛋糕。 赵飞饿哭了 请输入需要蛋糕的数量:0 赵飞饿哭了
while循环
while循环是通过一个条件来控制是否要继续执行循环体的语句。
语法格式
while 条件:
语句体
else:
语句体
案例
#打印1-10之间的数字
for i in range(1,11):
print(i)
#使用while打印1-10之间的数字
i=1
while i<11:
print(i)
i+=1
#打印1-30之间3的倍数
i=1
while i<=30:
if i%3==0:
print(i)
i+=1
#方法二
n=3
while n<=30:
print(n)
n+=3
#累计1-20相加
i=1
n=0
while i<21:
n+=i
i+=1
print(n)
模拟取款机
输入6位银行密码,错误3次吞卡
password = 666666 i = 1 while i<4: num = int(input('请输入您的银行卡密码:')) if num == password: print('密码正确,进入系统中...') i=4 else: print('密码错误,已经输错',i,'次') i+=1 if i==4: print('密码错误3次,请与发卡行联系!')
跳转语句
break 完全终止循环
continue 跳过后续语句直接进入下一次循环
break案例
num = 2
for i in range(3):
username=input('请输入账号:')
password=input('请输入密码:')
if username=='tz' and password=='123456':
print('登录成功!欢迎用户{}!'.format(username))
break
elif num!=0:
print('账号或密码错误,你还有{}次机会!'.format(num))
num=num-1
else:
print('你的机会已用完,该账户已锁定!')
continue案例(p40节)
#3的倍数进行累加
sum = 0
for i in range(10): #0~9
if i%3==0:
continue #跳过下方的累加语句
sum+=i
print('sum------>',sum)
循环嵌套
while里套while
for里套for
while里套for
for里套while
...
套来套去,无穷尽也
打印直角三角形
#打印一个直角三角形
i=0
while i<6:
print('*'*i)
i+=1
#循环嵌套打印直角三角形
ceng=1
while ceng<6:
count=1
while count<=ceng:
print('*',end='')
count+=1
print()
ceng+=1
打印99乘法表
#打印99乘法表
c=1
while c<=9:
n=1
while n<=c:
print('{}*{}={}'.format(n,c,(n*c)),end=' ')
n+=1
print()
c+=1
---------------------------------------------------------------
E:\python>python while_demo.py
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
pass 空语句,相当于先占位,不写,想好在写啥。编译也不会报错。
#只要有缩进且缩进内容不确定的时候可使用pass if 10>7: print('10大于7') else: pass
澳门赌场游戏
import random
print('*'*25)
print(' 欢迎进入澳门赌场')
print('*'*25)
Game_name=input('请输入您的账号:')
Game_money=0
result=input('赌场规则:100RMB可换30个筹码,充值必须为100的倍数,还要继续么(y/n):')
if result != 'n':
while result!='n':
Game_money=int(input('请输入您想要充值的金额:'))
if Game_money %100 ==0:
Game_money=Game_money//100*30
print('您当前的筹码个数为:',Game_money)
result=input('是否开始游戏?(y/n)')
if result!='n':
print('进入游戏中...')
while Game_money>=30:
#产生骰子值
t1=random.randint(1,6)
t2=random.randint(1,6)
t3=t1+t2
#当两个骰子的值大于6则大
guess=input('大还是小?')
if (t3>6 and guess=='大') or (t3<=6 and guess=='小'):
Game_money+=30
result=input('恭喜你,猜对啦!筹码+30,当前筹码为{},再来一把?(y/n)'.format(Game_money))
if result=='n':break
else:
Game_money-=30
print('猜错了!筹码-30,当前筹码为{}!'.format(Game_money),end='')
if Game_money<30:
result=input('抱歉,你的筹码不足,如需继续请充值(y/n)')
else:
result=input('再来一把?(y/n)')
if result=='n':break
else:
print('不玩也不退,谢谢您的光临!')
break
else:
print('您充值的金额不正确!请重新充值!')
else:
print('欢迎您下次光临!')
else:
print('欢迎您下次光临!')
学习来自:B站大学 P31-40
《python从入门到项目实践》明日科技 第九章
今天的学习是为了以后的工作更加的轻松!