栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 教学

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 教学

第一章 python 基础知识 第五节 for循环和while循环

第一部分 for循环

for循环其实就是对列表、字典、元组、字符串的一个遍历,或者是做数学问题时的好方法。

range函数简介:

range(5)代表从0开始,遍历到4(5 - 1)结束。

range(1, 7)代表从1开始,遍历到6(7 - 1)结束

range(1, 6, 2)代表从1开始,便利到5(6 - 1),两两遍历,遍历到了1、3、5。

总结:range(开始数字, 终止数字 + 1, 间隔)。

让我们来看看for循环的样例吧!

for i in range(a,b,c):
    do_something

1. 小明想求1 + 2 + 3 + …… + n的和,请你用计算机计算出来。

输入样例:10

输出样例:55

题目分析:需要用到for循环,和range函数。

n = int(input())
total = 0
for i in range(1, n + 1):
    total += i
print(total)

2. 小明想求1 * 3 * 5 * …… * n的结果是多少,请你用计算机计算出来。

n = int(input())
total = 1
for i in range(1, n + 1, 2):
    total *= i
print(total)

3. 输入一个字符串,小明想要遍历这个字符串,把字符串中的每个字符按空格隔开并输出。

n = input()
for i in range(len(n)):
    print(n[i],end = " ")

len(x)指的是求x的长度,x可以是字符串、列表、字典、元组。

还可以直接遍历字符串。

n = input()
for i in n:
    print(i,end = " ")

4. abc * bc = 2829,输出a,b,c是多少,以空格隔开。

下列代码采用枚举法(for循环枚举)去枚举a、b、c,从而得出答案,

for a in range(1,10): # 枚举a(0~9)
    for b in range(1,10): # 枚举b(0~9)
        for c in range(10): # 枚举b(0~9)
            num_1 = a * 100 + b * 10 + c # 求出abc这个数字
            num_2 = b * 10 + c # 求出bc这个数字
            num_3 = num_1 * num_2 # 求出abc * bc
            if num_3 == 2829: # 判断它是否是2829
                print("%d %d %d"%(num_1,num_2,num_3)) # 是,就输出

第二部分 while循环

while循环就是如果满足这个条件,就会一直执行,直到不满足了为止。

让我们来看while循环的样例吧!

i = 0
while something:
    do_something
    i += 1
    

1. 小明想要求1 + 2 + 3 + …… + n的和,请你用while循环写出代码吧!

题目分析:while循环进行枚举求和

n = int(input())
i = 1
total = 0
while i <= n:
    total += i
    i += 1
print(total)

2. 有一组数:1、1、2、3、5、8,输入n,请你输出这组数列的第n的数是多少。

题目分析:斐波那契数列,前两个数字的和等于这个数字。

n = int(input())
i = 3
fb, fb2 = 1, 1
while i <= n:
    if i % 2 == 1:
        fb = fb + fb2
    else:
        fb2 = fb + fb2
    i += 1

print(max(fb,fb2))

3. 输入字符串n,小明想要通过while循环遍历字符串n,并倒序输出,以空格隔开。

题目分析:从len(n) - 1开始遍历,遍历到0。

n = input()
i = len(n) - 1
while i >= 0:
    print(n[i],end = " ")
    i -= 1

4. abc + cba = 444,请你用while循环求出a,b,c的值,以空格隔开输出。

a = 1
while a < 10:
    b = 0
    while b < 10:
        c = 0
        while c < 10:
            num_1 = a * 100 + b * 10 + c
            num_2 = c * 100 + b * 10 + a
            c += 1
            if num_2 < 100 or num_1 < 100:
                continue
            if num_1 + num_2 == 444 and a != b and a != c and b != c:
                print("%d %d %d"%(a,b,c - 1))
        b += 1
    a += 1
    

这节课就讲到这里,下节课我们来学try except语句。

下次更新时间(6月4日)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号