day3

总结

1. for循环
  1. 语法
for 变量 in 序列:
	循环体
  • 说明

  • forin:关键字,固定写法

  • 变量:变量名(可以是没有定义过的变量名,也可以是已经定义过的变量的变量名)

  • 序列:容器型数据类型的数据,常见序列:字符串、列表、元组 、字典、集合、迭代器、生成器、range等

  • **:**冒号固定写法

  • 循环体:和for保持一个缩进的一条或者多条语句。(循环体就是需要重复执行的代码)

  • 执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。(序列中元素的个数决定for循环循环次数)

for x in 'abc':
    print(x, 'hello world!')
  1. range函数:产生指定范围的数字序列
  • range(N):产生0~N-1的数字序列

    for x in range(3):
        print(x, '循环体')
    
  • **range(M, N) **: 产生M到N-1的数字序列

    for x in range(-10, 10):
        print('x', x)
    
  • range(M,N,step): 产生[M,N)的数据序列,步长是step(每次增加step)

    for x in range(1, 10, 2):
        print('x', x)
    
2. while循环
  1. 语法

    while 条件语句:
        循环体
    
  2. 说明

  • while:关键字,固定写法
  • 条件语句:任何有结果的表达式(除了赋值语句)
  • : 冒号固定写法
  • 循环体:和while保持一个缩进的一条或者多条语句(需要重复执行的代码)
  • 执行过程:先判断条件语句是否为True,如果是就执行循环体,执行完循环体,再判断条件语句是否为True,为True就在执行循环体…以此类推,如果条件语句的结果是False循环就结束。
num = 0
while num < 3:
    print('hello world!')
    num += 1
  1. for和while的选择
  • 当循环次数确定的时使用for循环,循环次数不确定的时候使用while循环
3. 循环体关键字
  1. 循环体关键字:continuebreakelse
  • continue:结束一次循环(只能再循环体中使用),执行循环体的时候如果遇到continue,当此循环直接结束,直接进入下一次循环

    for x in range(3):
        print('===')
        print('+++')
        continue
        print('---')
    
  • break:结束整个循环(只能再循环体中使用),执行循环体的时候如果遇到break,整个循环体直接结束

    for x in range(3):
        print('===')
        print('+++')
        break
        print('---')
    
  1. 使用while循环的套路

    pw = '123'
    while True:
        i_pw = input('请输入密码')
        if i_pw == pw:
            break
    
  2. else

  • else的存在不影响原来循环的执行

  • else后面的代码段再循环自然死亡的时候会执行,循环因为遇到break而结束的时候代码不会执行

    for x in range(3):
        print('hello world!')
        if x == 1:
            break
    else:
        print('交代遗言')
    

作业

使用for和while循环输出 0~100内所有3的倍数。

for a in range(0, 100, 3):
    print('a', a)

a = 0
while a <= 100:
    if a % 3 == 0:
        print('a', a)
    a += 3

使用for和while循环输出100~200内个位数或者十位数能被3整除的数。

for a in range(100, 200,):
    if a // 10 % 10 % 3 == 0 or a % 10 % 3 == 0:
        print('a', a)
a = 100
while a <= 200:
    if a // 10 % 10 % 3 == 0 or a % 10 % 3 == 0:
        print('a', a)
    a += 1

使用循环计算1*2*3*4*...*10的结果。

num = 1
for a in range(1, 11):
    num *= a
print('积', num)

统计100以内个位数是2并且能够被3整除的数的个数。

conut = 0
for a in range(2, 100, 10):
    if a % 3 == 0:
        conut += 1
        print('个位数是2并且能够被3整除的数', conut)

输入任意一个正整数,求他是几位数?

num = int(input('请输入一个正整数'))
conut = 0
while num != 0:
    num //= 10
    conut += 1
print(count)

注意: 这儿不能使用字符串,只能用循环

打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是

⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。

for num in range(100, 1000):
    if (num // 100)**3 + (num // 10 % 10)**3 + (num % 10)**3 == num:
        print('水仙花数:', num)

判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)

求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34… (这儿的n可以是任意正整数,可以通过输入来确定)

输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值