python之循环与判断(while for if )
1,for 循环,语法
举例:
for i in range(1, 5, 2): # 0,1,2,3,4 print(i)
for a in range(5):# --(0,5,1) 0,1,2,3,4 print(a)
2,九九乘法表:
for i in range(1,10): for k in range(1,i+1): a = "{}*{}={}\t".format(k,i,i*k) print(a,end="") print()
或者:
i = 1 while i < 10: j = 1 while j < i+1: print("{0}*{1}={2}\t".format(j,i,j*i),end="") j +=1 print() i +=1
3,while循环,语法;
举例说明:
age = 25 while age < 30: print("请打印sb的年龄:{0}".format(age)) age += 1 print(age)
用while循环实现 从 1开始 到 4结束,步长为2
4,列表中删除多个元素b
name_list = ['a', 'b', 'c', 'b', 'm', 'b'] b_count = name_list.count("b") for i in range(b_count): name_list.remove("b") print(name_list)
5,题目: 1/1 + 1/3 + 1/5 + ... + 1/99 求和
并且打印 公式 1/1 + 1/3 + 1/5 + ... + 1/99 = 总和
while循环:
i = 1 sum = 0 i_list = [] --定义一个空列表 while i < 100: --循环 i_list.append("1/{0}".format(i)) --列表中加入一个元素 sum += 1/i i += 2 i_str = "+".join(i_list) --列表转换成字符串,用+链接 sum_str = "{0}={1}".format(i_str,sum) --字符串拼接 print(sum_str)
for循环:
sum = 0 i_list = [] for i in range(1, 100, 2): i_list.append("1/{0}".format(i)) sum += 1 / i i_str = "+".join(i_list) sum_str = "{0}={1}".format(i_str,sum) print(sum_str)
6,if判断语句:
第一种用法:
语法:if 条件:
逻辑代码
举例:
age = input("请输入dasb的年龄:") if age.isdigit(): -- age = int(age) if age > 35: print("去死吧,大叔") print("1111")
;
第2种用法:
# if 条件:
# 逻辑代码
# else:
# 逻辑代码
# 说明:如果条件返回的是True则执行if下面的逻辑代码,否则执行else后面的逻辑代码
举例说明
age = input("请输入you的年龄:") if age.isdigit(): age = int(age) if age >= 35: print("沧桑大叔") else: print("来啦,老哥") else: print("您输入的字符不是数字类型") print("1111")
第3种用法:
# if 条件1:
# 逻辑代码
# elif 条件2:
# 逻辑代码
# elif 条件3:
# 逻辑代码
# ...此处省略一万个elif
# else:
# 逻辑代码
举例说明:
age = input("请输入dasb的年龄:") if age.isdigit(): age = int(age) if age >=35: print("有种生物叫大叔") elif age >=25 and age < 35: print("来啦,老哥") elif age >= 18 and age < 25: print("小老弟") else: print("青春年华...")
age = input("请输入dasb年龄:") print(age.isdigit()) if age.isdigit(): age = int(age) print("请输出dasb年龄:{0}".format(age)) else: print("你输入的不是年龄,是其他字符:{0}".format(age)) print("hello word")
7,continue 和 break 关键字
# 1、continue :跳过本次循环
# 使用在 for循环中
for i in range(5): # 0 1 2 3 4 if i == 3: continue else: pass print(i)
# continue使用在while循环中不可以被使用
i = 0 while i < 5: if i == 3: continue else: pass print(i) i += 1
# 2、break: 中止当前循环
for i in range(5): # 0 1 2 3 4 if i == 3: break else: pass print(i)
# break 在 while循环中使用
i = 0 while i < 5: if i == 3: break else: pass print(i) i += 1
8,设计一个ATM取款流程,默认密码为888888提示用户输入密码密码输入止确进入系统
第一步,输入正确时的流程:
atm =input("输入密码") if atm.isdigit(): atm = int(atm) if atm ==888888: print("密码输入止确进入系统")
第二步,输入错误,提示重新输入密码
atm =input("输入密码") if atm.isdigit(): atm = int(atm) if atm ==888888: print("密码输入止确进入系统") else: atm != 888888 print("提示重新输入密码")
第三步,如果错误次数超过3次,退出程序,提示用户己经超过最大次数。
xit = True cuou = 0 while xit: atm = input("输入密码") if atm.isdigit(): atm = int(atm) if atm ==888888: print("密码输入止确进入系统") xit = False elif cuou == 2: exit("己经超过最大次数") xit= False else: print("提示重新输入密码") cuou += 1
9.请将s = 'aAsmr3idd4bgs7Dlsf9eAF',字符串的数字取出,并输出成一个新的字符串
s = 'aAsmr3idd4bgs7Dlsf9eAF' numer_list = [] s_list = list(s) for i in range(len(s_list)): if s_list[i].isdigit(): numer_list.append(s_list[i]) else: pass numer_str = "".join(numer_list) print(numer_str)
10,打印3 层金字塔
for i in range(3): s1 = '*'*(2*(i+1)-1) # 确定星星数 2n-1 s2 = ' '*(2-i) # 确定空格数 print(s2+s1)
11,使用for循环批量修改文本
students = ['Mary','Tom',"Joson"] for x in range(len(students)): print(x,students[x]) students[x] = '45_'+students[x] print(students)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异