python循环

server/2025/2/8 18:13:50/

while和for的区别

while 和 for 的区别,while是不定循环循环次数不固定。for的循环次数通常是固定的

python">continue    跳出本次循环,直接执行下一次循环
break       退出循环,执行循环外的代码
exit()      退出python程序,可以指定返回值

while循环

python">i = 1
while i <= 3:print(i, "开始打印1~3")i += 1结果:
1 开始打印1~3
2 开始打印1~3
3 开始打印1~3

猜随机数字

python">import random
num = random.randint(1, 100)
while True:choise = int(input("please input number: "))if choise == num:print("猜对了!", num)breakelif choise > num:print("bigger")else:print("smaller")

登录功能:(输入 q 可以退出所有循环

python">username = 'wzy'
password = '123'
input_count = 0
while True:inp_name=input('请输入您的账号:')inp_pwd=input('请输入您的密码:')input_count += 1if input_count >= 3:print('账号密码错误次数过多!')breakif inp_name == username and inp_pwd == password:print('登录成功')while True:cmd=input("输入命令>: ")if cmd == 'q':breakprint('命令{x}正在运行'.format(x=cmd))break   # 立刻终止本层循环else:print('账号名或密码错误')

也可以使用 for i in range(3) 实现

⚠️不要在 continue 后加同级代码,后面的代码永远不会执行

python">username = 'wzy'
password = '123'
input_count = 0
tag = True
while tag:inp_name=input('请输入您的账号:')inp_pwd=input('请输入您的密码:')input_count += 1if input_count >= 3:print('账号密码错误次数过多!')breakif inp_name == username and inp_pwd == password:print('登录成功')while tag:cmd=input("输入命令>: ")if cmd == 'q':tag = Falsebreakelse:print('命令{x}正在运行'.format(x=cmd))else:print('账号名或密码错误')
python">i = 0
while i < 10:i += 1if i == 5:continue # 跳过当 i 等于 5 时的剩余部分
print(i)结果为:10

while + else

  • while + else 的主要使用场景是处理 循环是否正常结束 的逻辑

  • else块只有在while循环 没有被 break 语句中断 并正常结束时才会执行

python">items = [1, 3, 5, 7, 9]
target = 4index = 0
while index < len(items):if items[index] == target:print(f"Found {target} at index {index}")breakindex += 1
else:print(f"{target} not found in the list")

while嵌套

  • 如果多个while循环嵌套,内层的break并不能打破循环

for循环

python">for i in range(1,3):print("wzy打印出: ", i)结果:
wzy打印出:  1
wzy打印出:  2

range还可以指定步长为奇书偶数:例如 range(1, 7, 2) range(2, 8, 2)

1.判读是否为质数:

python">num = int(input('Please input a number: '))
for i in range(2, num):if num % i == 0:print(num, '不是质数')break
else:print(num, '是质数')

continue语句

continue作用:跳过 continue 后面的语句

for + continue 案例:

python">for i in range(6):if i == 4:continueprint(i)
0
1
2
3
5

循环嵌套

python">for a in range(3):print('外层循环-----》', a)for b in range(5):print('内层循环', b)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.使用循环嵌套打印三角形

python">*
**
***
****# 特点如下:
列数和行数直接相关,当前是多少行,就打印多少列for i in range(4):  # 外层循环控制行数,一共4行for j in range(i + 1):  # 内层循环控制每行打印*的个数,个数与行数对应print('*', end='')print()   # 换行输出

打印乘法表

  • 外层循环:外层循环控制的是乘法表的行数,表示乘数的第一个数字(例如从 1 到 9)
  • 内层循环:内层循环控制的是乘法表的列数,表示乘数的第二个数字(同样是从 1 到 9)
python">for i in range(1, 10):  # 外层循环,控制行数for j in range(1, i + 1):  # 内层循环,控制每行列数print(f"{i}*{j}={i*j}", end=' ')  # 打印乘法表达式print()  # 每行输出后换行

输出结果如下:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

python">for line in range(1, 10):for i in range(1, line+1):print('{}*{}={}'.format(line, i, line*i), end=' ')print()1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

对应的shell脚本为:

for line in {1..9}
do# 内层循环控制每行的乘法计算(1 到 line)for i in $(seq 1 $line)do# 打印当前乘法结果,不换行echo -n "$i*$line=$((i*line)) "done# 每行结束后换行echo
done

打印金字塔

打印一个有5行的金字塔

python"># 定义行数
n = 5
for i in range(1, n+1):# 控制每一行的空格数量,空格数量 = 当前行 - 1print(' ' * (n - i), end=' ')   # 打印完空格后不换行,为了把空格和*写在同一行# 打印*,*数量为当前行号乘2减1print('*' * (2 * i -1))
     *************************

3种商品的选择

洗发水15元/瓶,香皂2元/个,牙刷5元/个,100购买这些商品,要尽可能把钱花完。列出所有组合 输出示例:洗发水: 0 瓶, 香皂: 2 个, 牙刷: 9 个, 价格 XX 元。

15x+2y+5z=100;x y z代表购买个数

  • 首先要确定变量范围,即每种商品最多可以购买多少个

    • 洗发水:最多买 100÷15=6 瓶,即x的范围是 0~6

    • 香皂:最多买 100÷2=50,即y的范围是0~50

    • 牙刷:最多买100÷10,即z的范围是0-10

python"># 单价使用abc表示,数量使用xyz表示
a = 15
b = 10
c = 2
total = 100
for x in range(100 // a+1):for y in range(100 // b+1):for z in range(100 // c+1):if x * a + y * b + z * c == 100:print(f'洗发水:{x}瓶,牙刷:{y}个,香皂:{z}个')'''
洗发水:0瓶,香皂:0个,牙刷:50个
洗发水:0瓶,香皂:1个,牙刷:45个
洗发水:0瓶,香皂:2个,牙刷:40个
洗发水:0瓶,香皂:3个,牙刷:35个
洗发水:0瓶,香皂:4个,牙刷:30个
洗发水:0瓶,香皂:5个,牙刷:25个
洗发水:0瓶,香皂:6个,牙刷:20个
洗发水:0瓶,香皂:7个,牙刷:15个
洗发水:0瓶,香皂:8个,牙刷:10个
洗发水:0瓶,香皂:9个,牙刷:5个
洗发水:0瓶,香皂:10个,牙刷:0个
洗发水:2瓶,香皂:0个,牙刷:35个
洗发水:2瓶,香皂:1个,牙刷:30个
洗发水:2瓶,香皂:2个,牙刷:25个
洗发水:2瓶,香皂:3个,牙刷:20个
洗发水:2瓶,香皂:4个,牙刷:15个
洗发水:2瓶,香皂:5个,牙刷:10个
洗发水:2瓶,香皂:6个,牙刷:5个
洗发水:2瓶,香皂:7个,牙刷:0个
洗发水:4瓶,香皂:0个,牙刷:20个
洗发水:4瓶,香皂:1个,牙刷:15个
洗发水:4瓶,香皂:2个,牙刷:10个
洗发水:4瓶,香皂:3个,牙刷:5个
洗发水:4瓶,香皂:4个,牙刷:0个
洗发水:6瓶,香皂:0个,牙刷:5个
洗发水:6瓶,香皂:1个,牙刷:0个
'''
8个,牙刷:10个
洗发水:0瓶,香皂:9个,牙刷:5个
洗发水:0瓶,香皂:10个,牙刷:0个
洗发水:2瓶,香皂:0个,牙刷:35个
洗发水:2瓶,香皂:1个,牙刷:30个
洗发水:2瓶,香皂:2个,牙刷:25个
洗发水:2瓶,香皂:3个,牙刷:20个
洗发水:2瓶,香皂:4个,牙刷:15个
洗发水:2瓶,香皂:5个,牙刷:10个
洗发水:2瓶,香皂:6个,牙刷:5个
洗发水:2瓶,香皂:7个,牙刷:0个
洗发水:4瓶,香皂:0个,牙刷:20个
洗发水:4瓶,香皂:1个,牙刷:15个
洗发水:4瓶,香皂:2个,牙刷:10个
洗发水:4瓶,香皂:3个,牙刷:5个
洗发水:4瓶,香皂:4个,牙刷:0个
洗发水:6瓶,香皂:0个,牙刷:5个
洗发水:6瓶,香皂:1个,牙刷:0'''

http://www.ppmy.cn/server/166003.html

相关文章

【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date,DateTimeFormat

【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date&#xff0c;DateTimeFormat 一、前言 在鸿蒙应用开发中&#xff0c;经常需要将时间戳转化为标准时间格式。即&#xff1a;一串数字转化为年月日时分秒。 时间戳通常是一个长整型的数字&#xff0c;如 163041600…

深度学习 Pytorch 建模可视化工具TensorBoard的安装与使用

50 TensorBoard的安装和使用 在深度学习建模过程中&#xff0c;为了能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况&#xff0c;当然也为了能够观察图像数据&#xff0c;我们可以使用TensorBoard工具来进行Pytorch深度学习模型的可视化展示。 Tensor…

《手札·开源篇》数字化转型助力永磁电机企业降本增效:快速设计软件如何让研发效率提升40%?

数字化转型助力永磁电机企业降本增效&#xff1a;快速设计软件如何让研发效率提升40%&#xff1f; 一、痛点&#xff1a;传统研发模式正在吃掉企业的利润 永磁电机行业面临两大挑战&#xff1a; 研发周期长&#xff1a;一款新电机从设计到量产需6-12个月&#xff0c;电磁计算…

mac环境下,ollama+deepseek+cherry studio+chatbox本地部署

春节期间&#xff0c;deepseek迅速火爆全网&#xff0c;然后回来上班&#xff0c;我就浅浅的学习一下&#xff0c;然后这里总结一下&#xff0c;我学习中&#xff0c;总结的一些知识点吧&#xff0c;分享给大家。具体的深度安装部署&#xff0c;这里不做赘述&#xff0c;因为网…

ChatGPT提问技巧:行业热门应用提示词案例-文案写作

ChatGPT 作为强大的 AI 语言模型&#xff0c;已经成为文案写作的得力助手。但要让它写出真正符合你需求的文案&#xff0c;关键在于如何与它“沟通”&#xff0c;也就是如何设计提示词&#xff08;Prompt&#xff09;。以下是一些实用的提示词案例&#xff0c;帮助你解锁 ChatG…

DeepSeek R1技术报告关键解析(8/10):DeepSeek-R1 的“aha 时刻”,AI 自主学习的新突破

1. 什么是 AI 的“aha 时刻”&#xff1f; 在强化学习过程中&#xff0c;AI 的推理能力并不是线性增长的&#xff0c;而是会经历一些关键的“顿悟”时刻&#xff0c;研究人员将其称为“aha 时刻”。 这是 AI 在训练过程中突然学会了一种新的推理方式&#xff0c;或者能够主动…

Android性能调优之需要掌握Dalvik和ART的知识

在Android4.4时ART诞生&#xff0c;DVM和ART在4.4的版本中可以互替&#xff0c;在Android5.0后Android默认运行虚拟机为ART&#xff0c;至此&#xff0c;DVM退出历史舞台。 步入2020年&#xff0c;全球Android用户中&#xff0c;5.0以上的版本占据87~90%&#xff0c;就算DVM已…

第8章《VTK交互》

VTK 交互(Interaction)是 VTK 框架的重要组成部分,使用户能够使用鼠标、键盘等设备与 3D 场景进行交互。VTK 提供了一套 交互样式(Interactor Style)、事件机制(Event Handling) 和 自定义交互 的方法,允许用户操控 3D 视图,实现旋转、缩放、选取等功能。 1. VTK 交互…