目标程序的三大流程
1.while 循环的基本使用
2.break 和 continue
3.while 循环嵌套
在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
一、for循环
1、基本用法
1.1 for 循环使用的语法:
for 变量 in range(10)
for i in range(5):
print(i)

1.2 range的用法:
range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)
测试:
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(1,11,2) ##取出奇数
[1, 3, 5, 7, 9]
>>> range(0,11,2) ##取出偶数
[0, 2, 4, 6, 8, 10]
>>>
2、练习:
2.1 分别求1~100内偶数之和
sum = 0
for i in range(2,101,2):
sum += i
print(sum)

2.2 求1~100之间所有奇数之和
sum1 = 0
for i in range(1,101,2):
sum1 += i
print(sum1)

2.3 求阶乘
# 求阶乘
num = int(input('请输入一个数字:'))
res = 1
for i in range(1, num + 1):
res*=i
print('%d的阶乘为:%d' %(num,res))

2.4 有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
sum = 0
for i in (1,2,3,4):
for j in (1,2,3,4):
for k in (1,2,3,4):
if i != j and j!= k and i != k:
sum += 1
print('共有%d种组合' %sum)

2.5 有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if (x!=y) and (y!=z) and (z!=x):
print("%d%d%d" % (x, y, z))

优化后
i = 0
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if (x!=y) and (y!=z) and (z!=x):
i += 1
if i%4:
print("%d%d%d" % (x, y, z), end=" | ")
else:
print("%d%d%d" % (x, y, z))

2.6 实现命令行提示符
-
break:跳出整个循环,不会再执行循环后续的内容
-
continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
-
exit():结束程序的运行
import os
for i in range(1000):
cmd = input(’\[kiosk@test ~\]$ ')
if cmd:
if cmd == ‘exit’:
break
else:
print(‘run %s’ %(cmd))
os.system(cmd)
else:
continue

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

2.8 用户登录管理系统
用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name=‘root’,passwd=‘westos’)
3.登录仅有三次机会,超过3次会报错
for i in range(3):
user = input('请输入用户名:')
passwd = input('请输入密码:')
if user=='root' and passwd == 'westos':
print('%s用户登录成功' %user)
break
else:
print('密码错误,请重新输入密码,您还剩%d次机会' %(2-i))
else:
print('超过三次,登录失败')


2.9 求最大公约数和最小公倍数
输入两个数值:
求两个数的最大公约数和最小公倍数
最小公倍数=(num1 * num2) / 最大公约数
# 输入两个数字
num1=int(input('Num1:'))
num2=int(input('Num2:'))
# 找出两个数中的较小者
min_num = min(num1,num2)
# 确定最大公约数
for i in range(1,min_num+1):
if num1 % i ==0 and num2 % i ==0:
max_commer = i
# 求最小公倍数
min_commer =int(num1 * num2)/max_commer
print('%s 和 %s 的最大公约数为%s' %(num1,num2,max_commer))
print('%s 和 %s 的最小公倍数为%s' %(num1,num2,min_commer))

二、While循环
循环的作用就是让指定的代码重复的执行,while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 条件():
条件满足时,做的事情1
条件满足时,做的事情2
…
1、基本用法
# 定义一个整数变量,记录循环的次数
i=1
# 开始循环
while i <= 3:
# 希望循环内执行的代码
print('hello python')
# 处理计数器
i+=1

2、死循环
while True:
print('hello python')
3、练习
3.1 求1~100之间数字的和
# 定义记录循环次数的变量
i = 0
# 定义结果变量
result = 0
while i <= 100:
result+=i
# 处理计数器
i+=1
# 输出结果
print('1~100之间的数字之和为:%d' %result)

3.2 用户登录管理
trycount = 0
while trycount < 3:
name = input('用户名:')
passwd = input('密码:')
if name == 'root' and passwd == 'westos':
print('登录成功')
break
else:
print('登录失败')
print('您还剩余%d次机会' %(2 - trycount))
trycount += 1
else:
print('登录次数超过三次,请稍后登录')


3.3 while 循环嵌套
while 里面还有 while
1.在控制台连续输出五行*,每一行星号的数量依次递增
2.完成 5 行内容的简单输出 分析每行内部的*应该如何处理
输出
*
**
***
*****
*******
如下:
第一种:
# 1.控制行
for i in range(6):
# 2.控制*的数量
for j in range(6):
if i > j :
print("*",end='')
print(" ")

第二种
i =1
while i <= 5:
j = 1
while j <= (5 - i):
print(" ",end='')
j += 1
while (j >(5-i) and j <= 5):
print("*",end='')
j += 1
print()
i += 1

如果想要星星倒过来呢
第三种:
# 1.控制行
for i in range(6):
# 2.控制*的数量
for j in range(6):
if i < j :
print("*",end='')
print(" ")

第四种:
i = 1
while i <= 5:
j = 1
while j < i:
print(" ",end='')
j += 1
while j >= i and j <= 5:
print("*",end='')
j += 1
print()
i += 1

3.4 猜数字游戏
猜数字游戏:
1.系统随机生成一个1~100的数字;
2.用户共有5次机会猜;
3.如果用户猜测数字大于系统给出的数字,打印"too big"
4.如果用户猜测数字小于系统给出的数字,打印"too small"
5.如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖",并退出循环
import random
num = random.randint(1,100)
print(num)
i = 1
while i <= 5:
ans = int(input("请猜数:"))
if ans > num:
print("too big,还剩%d次机会"%(5-i))
elif ans < num:
print("too small,还剩%d次机会"%(5-i))
else:
print("恭喜中奖!!!")
break
i += 1

好了,今天的分享就到这里!如果你是0基础,想要学习Python的话,可以试试我整理的这份Python全套学习资料,0基础入门+进阶实战,学完就可以自己在网上帮人写写脚本,接单赚米了~
需要的可以自行扫描下方SCDN官方认证二维码免费领取
资料包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、大厂面试题、Python练习题、Python实战案例源码等学习教程。带你从零基础到精通!

零基础Python学习资源介绍
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python学习软件
工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!

三、Python入门学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
四、Python练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!

五、Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~
六、Python面试资料
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


七、资料领取
上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取

本文介绍了Python中的for循环和while循环的基本用法,包括range函数的使用,以及各种循环结构的实践应用,如求和、阶乘、数字组合、命令行提示符、乘法表、用户登录管理和最大公约数与最小公倍数的计算。同时,文章提供了丰富的练习题以巩固学习。
7112

被折叠的 条评论
为什么被折叠?



