【超简单】python第四章教学

四.循环结构(托更好久,终于到第四章循环结构了,学了这章你就可以用循环写一些平时比较麻烦,用人解决较费时的了。在本章最后会有几道题并且有解答,可以的话自己做一做)

(((((((((这一章的内容主要就是看代码去理解为什么)))))))))

1.while循环结构(很重要)

1.while语句:

while语句的一般格式:

while 表达式:

语句块

注意:while语句中的表达式表示循环条件,可以是结果能解释为True或False的任何表达式,常用的是关系表达式和逻辑表达式。我的理解:while的表达式就是你给一个 a > 2,但a不大于2的时候,循环就结束。

(1)

a = 4

while a > 2:
    print("我是大帅哥",a)
    a = a - 1


我是大帅哥 4
我是大帅哥 3

(2)while else

a = 4

while a > 2:
    print("我是大帅哥")
    a = a - 1
else:
    print("你是大帅哥")



我是大帅哥
我是大帅哥
你是大帅哥

2.for循环结构(很重要)

1.for循环语句:

for 目标变量 in 序列对象:

语句块

注意:for语句的首行定义了目标变量和遍历的序列对象,后面是需要重复执行的语句块。注意缩进。

(1)

for i in [1,2,3]:
    print(i)

1
2
3

for i in ['a','aa','aaa']

a 
aa
aaa

(2)range在for循环的应用

for i in range(1,3):
    print(i)

1
2

for i in range(1,5,2):
1
3

注意:使用range的时候 range(1,3,5)是左闭右开的,意思就是左边的数取得到,右边的数取不到,这个5 是步长  就是每一次取到的数的间隔,默认是1

3.循环控制语句(也很重要,都很重要,记就完事了)

1.break语句

break语句用在循环体内,迫使所在循环立即终止,即跳出所在循环体,继续执行循环结构后面的语句。

var = 10

while var > 0:
    print("谁是帅哥")
    var = var - 1
    if var == 5:
        break
print('GG')

谁是帅哥
谁是帅哥
谁是帅哥
谁是帅哥
谁是帅哥
GG

2.continue语句

当循环结构中执行continue语句时,并不会退出循环结构,而是立即结束本次循环,重新开始下一轮循环。意思就是到了continue这行语句的时候,本次循环就结束了,直接到下一次循环。

var = 10

while var > 0:
    var = var - 1
    if var == 5:
        continue
    print("谁是帅哥",var)
print('GG')

谁是帅哥 9
谁是帅哥 8
谁是帅哥 7
谁是帅哥 6
谁是帅哥 4
谁是帅哥 3
谁是帅哥 2
谁是帅哥 1
谁是帅哥 0
GG

3.pass

pass语句是一个空语句,它不做任何操作,代表一个空操作。

for letter in 'Python':
    if letter == 'h':
        pass
        print('123123')

    print('this is me',letter)
print('GG')

this is me P
this is me y
this is me t
123123
this is me h
this is me o
this is me n
GG

4.循环的嵌套(循环结构也是可以嵌套的)直接上代码

#输出[100,1000]以内的全部素数

import math

n = 0
for m in range(101,1000,2):
    i,j = 2,int(math.sqrt(m))
    while i <= j:
        if not(m%i):
            break
        else:
            i = i + 1
    else:
        print(m,end='')
        n = n + 1
        if n % 10 == 0:
            print("\n")

本章内容就这么多,最后每一个结构举一个例子并带着代码:
 

(1)while: 输入一个整数,输出其位数

n = int(input())

k = 0
while n > 0:
    k += 1
    n //= 10
print("k=",k)

(2)for:输入20个数,求出其中的最大数与最小数

x = int(input())

max = min = x
for i in range(1,20):
    x = int(input())
    if max > x:
        max = x
    elif x < min:
        min = x
print("最大数:",max,"最小数",min)

(3)如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。

for i in range(1,1000):
    a1 = i // 100       #百位
    a2 = i % 100 // 10  #十位
    a3 = i % 10         #个位


    if i <10:
        if a1**1 + a2**1 + a3**1 == i:
            print(i)
    elif i <100:
        if a1**2 + a2**2 + a3**2 == i:
            print(i)
    elif i < 1000:
        if a1**3 + a2**3 + a3**3 == i:
            print(i)

(4)这个是中国古代的一个经典的数学题,就是说,有一百铜币,买一百只鸡,其中公鸡5铜币一只,母鸡3铜币一只,小鸡一铜币三只, 要求每种鸡必须购买一只,求出一共有几种买法

rmb = 300
f_chicken = 15
m_chicken = 9
lit_chicken = 1
count = 0
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            if i*f_chicken + j*m_chicken + k * lit_chicken == 300:
                print("公鸡"+str(i)+"母鸡"+str(j)+"小鸡"+str(k))
                count +=1
print(count)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值