python-6-for循环及格式化输出format三种用法

本文深入探讨了Python中for循环的应用,包括有限循环的实现及如何通过遍历获取特定元素。此外,还详细讲解了format函数的三种用法,用于高级字符串格式化输出,提升代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

循环我们前面讲过了无限循环,那么for循环属于什么循环呢?显然就是有限循环;

另外格式化输出我们前面也讲过,但是format也能做到不一样的格式化输出。一起看看吧!

一、for 循环

1、for 有限循环

# for 有限循环
s = '123asd2'
for i in s:
    print(i)

2、实例,如需要拿出想要的元素3,通常用来遍历取值:

s = '123asd2'
for i in s:
    if '3' in i:
        print(i)

二、format 格式化用法

1、第一种:顺序对应

# format 三种玩法
msg = '我叫{},今年{},工作行业{}'.format('小龙', '22', 'IT')
print(msg)

 2、第二种:取下标

msg = '我叫{1},今年{0},工作行业{2}'.format('22', '小龙', 'IT')
print(msg)

 3、第三种:变量赋值

msg = '我叫{name},今年{age},工作行业{job}'.format(age=22, name='小龙', job='IT')
print(msg)

三、其它

1、数字格式化%d 或 f"{x}"

a = 3
print('是你%d' % a)
print(f'是你{a}')

建议还是使用f"{x}"

2、补充一个is系列

返回的是布尔值,可用来控制输入的数据类型。这只是部分:

# is系列  用来判断某些地方输入的数据类型是否对应
s = '123asd2'
print(s.isalnum())
print(s.isalpha())
print(s.isdigit())
<think>好的,我现在需要帮助用户了解如何在Python中使用format方法进行格式化输出,并结合for循环的应用。首先,我需要回顾用户之前的提问历史,确保回答的一致性和连贯性。用户之前询问过删除知识体系进阶,并希望得到一个练习题,所以这次回答可能需要保持类似的风格,结构清晰,有示例和练习题。 用户当前的问题是关于格式化输出使用format方法和for循环的使用。首先,我应该解释format方法的基本用法,然后展示如何在循环中使用它。用户可能对字符串格式化的不同方法有所混淆,比如f-string和format的区别,所以需要明确说明format的特点和优势。 接下来,我需要考虑用户可能的水平。之前的对话中,用户学习了input、条件判断、print和缩进规则,现在涉及到更高级的字符串格式化循环结构。因此,解释应该从基础开始,逐步深入,避免使用过于复杂的术语,但也要覆盖必要的细节。 关于for循环的部分,用户可能想知道如何结合format循环中处理数据,例如遍历列表或字典并格式化输出每个元素。需要提供实际的代码示例,展示不同的应用场景,如生成菜单、处理成绩数据、表格输出等,这样用户可以看到实际的应用,加深理解。 同时,用户可能对错误处理或更复杂的循环结构感兴趣,但根据问题,重点应放在基础用法上。需要确保示例代码正确,符合Python语法,并且注释清晰,便于用户跟随。 最后,按照用户之前的要求,练习题是必要的。需要设计一道综合题,结合formatfor循环,比如让用户遍历一个数据结构并使用format格式化输出结果。同时,要给出示例输出,帮助用户验证自己的代码是否正确。 在组织内容时,应该分点说明,使用标题和子标题使结构清晰,代码示例和注意事项分开,避免信息过载。同时,保持语言简洁,用词准确,确保用户能够轻松理解和应用所学内容。</think>### 📝 Python格式化输出循环使用指南 --- #### 🌟 格式化输出:`format()` 方法详解 ##### 1️⃣ 基础语法 ```python "字符串{占位符}".format(变量) # 通过位置索引传递参数 "字符串{key}".format(key=值) # 通过关键字参数传递 ``` ##### 2️⃣ 三种常用方式 ```python # 方式1:顺序传参 print("{}的{}成绩是{}分".format("小明", "数学", 95)) # 方式2:索引定位 print("{1}月{0}日".format(15, 3)) # 输出:3月15日 # 方式3:命名参数 print("坐标:x={x}, y={y}".format(x=120, y=80)) ``` ##### 3️⃣ 格式控制符 ```python # 数值格式化 print("π值:{:.2f}".format(3.14159)) # 保留两位小数 → 3.14 print("进度:{:>5}%".format(75)) # 右对齐5位 → 75% # 文本格式化 print("{:*^20}".format("重要提示")) # 居中填充星号 → ******重要提示****** ``` --- #### 🔄 for循环应用场景 ##### 1️⃣ 遍历序列类型 ```python fruits = ["apple", "banana", "cherry"] for fruit in fruits: print("当前水果:{}".format(fruit)) # 使用format插入变量 ``` ##### 2️⃣ 生成序列菜单 ```python menu = { 1: "红烧肉", 2: "清蒸鱼", 3: "麻婆豆腐" } print("{:-^30}".format("今日菜单")) # 标题格式化 for num, dish in menu.items(): print("【{}】{}".format(num, dish)) # 格式化选项 ``` ##### 3️⃣ 成绩数据处理 ```python scores = [("数学", 88), ("语文", 92), ("英语", 85)] print("{:<8}|{:>5}".format("科目", "分数")) # 表头格式化 for subject, score in scores: print("{:<8}|{:>5.1f}".format(subject, score)) # 对齐+数值格式 ``` --- ### 🛠️ 综合应用案例 #### 商品价格表生成器 ```python products = [ {"name": "笔记本", "price": 6.5, "stock": 120}, {"name": "钢笔", "price": 25.0, "stock": 45}, {"name": "橡皮", "price": 1.5, "stock": 200} ] # 表头格式化 header = "{:<6}{:<10}{:<8}{:<10}".format("编号", "商品名", "单价", "库存量") print("="*40) print(header) print("-"*40) # 循环输出数据 for idx, item in enumerate(products, 1): line = "{:<8}{:<12}¥{:<8.1f}{:<10}".format( f"#{idx}", item["name"], item["price"], item["stock"] ) print(line) print("="*40) ``` --- ### 📝 综合练习题 **题目:学生成绩报表生成系统** ```python ''' 要求: 1. 使用以下数据结构: students = [ {"name": "张三", "math": 85, "english": 78}, {"name": "李四", "math": 92, "english": 88}, {"name": "王五", "math": 76, "english": 95} ] 2. 使用for循环遍历数据 3. 使用format实现以下格式输出-------------------------- 学生姓名 数学 英语 平均分 -------------------------- 张三 85 78 81.5 李四 92 88 90.0 王五 76 95 85.5 -------------------------- 4. 要求: - 表头居中对齐 - 姓名列左对齐(宽度8) - 分数列右对齐(宽度6- 平均分保留1位小数 ''' # 示例代码框架 students = [...] # 原始数据 # 此处添加你的代码 ``` --- #### 💡 实现提示 1. 使用`enumerate()`获取遍历序号 2. 平均分计算:`(math + english) / 2` 3. 表头分隔线使用`format()`动态生成 4. 注意不同列的格式化参数:`:<8`、`:>6`等 如果需要参考答案或进一步指导,请随时告知! 🚀
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车尾龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值