python学习day6 循环语句


while循环

while条件:
条件满足时﹐做的事情1
条件满足时﹐做的事情2
条件满足时﹐做的事情3
....................

猜数字练习

import random
number=random.randint(1,100)
print(number)
i=1;
your_number = int(input('请猜'))
while your_number!=number:
    if your_number>number:
        i = i + 1
        your_number = int(input('猜大了,再猜'))
    elif  your_number<number:
        i = i + 1
        your_number = int(input('猜小了,再猜'))
print('猜对了,一共猜了%d次'%i)

while循环嵌套

在这里插入图片描述
在即将完成的案例中,我们需要使用print语句,输出不换行的功能,非常简单,实现方式

print( "Hello", end=' ' )
print( "World", end=' ' )

HelloWorld

如图,在print语句中,加上end=''即可输出不换行了
在这里插入图片描述

九九乘法表

i=1
j=1
# while i<=9:
#     j=i
#     while j<=9:
#         print('%d*%d=%d\t'%(i,j,i*j),end='')
#         j=j+1
#     print('')
#     i=i+1

while i<=9:
    j=1
    while j<=i:
        print('%d*%d=%d\t'%(j,i,j*i),end='')
        j=j+1
    print('')
    i=i+1

for循环

在这里插入图片描述
同while循环不同,for循环是无法定义循环条件的。只能从被处理的数据集中,依次取出内容进行处理。
所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)

i=0;
name='xkkkkkwidjowa;grgheuriptaoiargijviwpuehfisvbglisueryuifayleurag'
for x in name:
    if x=='k':
        i=i+1
print(i)

range语句

语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)如range(5)取得的数据是:[0,1,2,3,4]
语法2:
range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身别)如,range(5,10)取得的数据是∶[5,6,7,8,9]
语法3:
range(num1,num2, step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)数字之间的步长,以step为准( step默认为1)
如,range(5,10,2)取得的数据是∶[5,7,9]
在这里插入图片描述

for循环嵌套

在这里插入图片描述
for循环打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%d\t'%(j,i,j*i),end='')
    print()

break和continue

在这里插入图片描述
在这里插入图片描述
如上图continue只影响内层的for循环

在这里插入图片描述
在这里插入图片描述
嵌套的break只结束break所在的循环,外围的循环跳不出去
1.continue的作用是:
中断所在循环的当次执行,直接进入下一次
2.break的作用是:
直接结束所在的循环
3.注意事项:
. continue和break,在for和while循环中作用一致
·在嵌套循环中,只能作用在所在的循环上,无法对上层循环
起作用

综合练习

在这里插入图片描述

import random
sum=10000
for i in range(1,21):
    jixiao=random.randint(1,10)
    if jixiao<5:
        print('员工%d绩效为%d,不发工资'%(i,jixiao))
    else:
        sum=sum-1000
        print('向员工%d绩效%d发放工资1000元,余额还剩%d' % (i, jixiao, sum))
        if sum<=0:
            print('没钱了,不发了')
            break
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值