Python全栈的for循环怎么使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"Python全栈的for循环怎么使用",在日常操作中,相信很多人在Python全栈的for循环怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"P
千家信息网最后更新 2025年02月01日Python全栈的for循环怎么使用
这篇文章主要介绍"Python全栈的for循环怎么使用",在日常操作中,相信很多人在Python全栈的for循环怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python全栈的for循环怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. 双向循环的练习
# 1.用两个循环完成十行十列的小星星j = 0 while j < 10: # 打印星星 i = 0 while i < 10: print("*",end="") i+=1 # 打印换行 print() j += 1# 2.用两个循环完成十行十列隔列换色的小星星"""☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★"""i = 0while i < 10: # 打印一行黑白相间的星星 j = 0 while j < 10: if j % 2 == 0: print("☆",end="") else: print("★",end="") j +=1 # 打印换行 print() i+=1# 3.用两个循环完成十行十列隔行换色的小星星"""★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆★★★★★★★★★★☆☆☆☆☆☆☆☆☆☆""""""外层的循环i动的慢内层的循环j动的快外层的i动一次, 内层的循环动10次"""i = 0while i < 10 : j = 0 while j < 10: if i % 2 == 0: print("☆",end="") else: print("★",end="") j +=1 print() i +=1# 4.99乘法表# 方向一i = 1while i <= 9: # 打印对应的表达式 j = 1 while j <= i: print("%d*%d=%2d " % (i,j,i*j) ,end="" ) j+=1 # 打印换行 print() i +=1# 方向二i = 9while i >= 1: # 打印对应的表达式 j = 1 while j <= i: print("%d*%d=%2d " % (i,j,i*j) ,end="" ) j+=1 # 打印换行 print() i -= 1print("<====================>")# 方向三i = 1while i <= 9 : kongge = 9 - i # 打印空格 while kongge > 0: print(" ",end="") kongge -= 1 # 打印表达式 j = 1 while j <= i: print("%d*%d=%2d " % (i,j,i*j) ,end="" ) j+=1 # 换行 print() i +=1print("<===============>")# 方向四i = 9while i >= 1 : kongge = 9 - i # 打印空格 while kongge > 0: print(" ",end="") kongge -= 1 # 打印表达式 j = 1 while j <= i: print("%d*%d=%2d " % (i,j,i*j) ,end="" ) j+=1 # 打印换行 print() i -=1# 求吉利数字 100 ~ 999 之间 找 111 222 333 123 456 654 321 ... """// 可以获取一个数高位% 可以获取一个数低位baiwei = 345 // 100shiwei = 345 // 10 % 10gewei = 345 % 10print(gewei)"""# 方法一i = 100while i <= 999: baiwei = i // 100 shiwei = i // 10 % 10 gewei = i % 10 if shiwei == gewei and shiwei == baiwei : print(i) # 123 elif shiwei == gewei - 1 and shiwei == baiwei + 1: print(i) # 987 elif shiwei == gewei + 1 and shiwei == baiwei - 1: print(i) i +=1# 方法二print("<====>")i = 100while i <= 999: strvar = str(i) # print(strvar, type(strvar)) gewei = int(strvar[-1]) shiwei = int(strvar[1]) baiwei = int(strvar[0]) if shiwei == gewei and shiwei == baiwei : print(i) # 123 elif shiwei == gewei - 1 and shiwei == baiwei + 1: print(i) # 987 elif shiwei == gewei + 1 and shiwei == baiwei - 1: print(i) i +=1# 方法三print("<====>")i = 100while i <= 999: strvar = str(i) # print(strvar, type(strvar)) gewei = int(strvar[-1]) shiwei = int(strvar[1]) baiwei = int(strvar[0]) if 2 * shiwei == gewei + baiwei and (shiwei == gewei + 1 or shiwei == gewei -1 ): print(i) elif gewei == shiwei and shiwei == baiwei: print(i) i +=1# 百钱买百鸡# 公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?"""穷举法:把数据拿出来一个一个试x = [1,2]y = [3,4]z = [5,6]x+y+z = 101 + 3 + 5 = 91 + 3 + 6 = 10 bingo1 + 4 + 5 = 10 bingo1 + 4 + 6 = 112 + 3 + 5 = 10 bingo2 + 3 + 6 = 112 + 4 + 5 = 112 + 4 + 6 = 12""""""公鸡 : x 母鸡 : y 小鸡: z鸡的数量:x + y + z = 100鸡的价格:5 * x + 3 * y + 1/3*z = 100 """x = 0while x <= 20: y = 0 while y <= 33: z = 0 while z <= 100: if x+y+z == 100 and 5*x + 3 * y + 1/3*z == 100 : print(x,y,z) z += 1 y +=1 x += 1
2. break_pass_continue的使用
关键字的使用 pass break continue
# pass 过 (代码块中的占位符)"""if 20 == 20: passwhile True: pass"""# break 终止当前循环 (只能用在循环之中)# 1 ~ 10 遇到5终止循环i = 1while i <= 10: print(i) if i == 5: break i +=1 i = 1while i <= 3: j = 1 while j <=3: if j == 2: break print(i,j) j+=1 i +=1# 1 1# 2 1 # 3 1"""if 5 == 5: error break"""# continue 跳过当前循环,从下一次循环开始# 打印 1 ~ 10 跳过5i = 1while i <= 10: if i == 5: # 在跳过之前,因为会终止执行后面的代码,从下一次循环开始 # 为了避免死循环,手动加1 i += 1 continue print(i) i +=1# 1 ~ 100 打印所有不含有4的数字# 方法一print("<============>")i = 1while i <= 100: strvar = str(i) # print(strvar) if "4" in strvar: i += 1 continue print(i) i +=1 # 方法二print("<============>")i = 1while i <= 100: if i // 10 == 4 or i % 10 == 4: i+=1 continue print(i) i+=1
3. for循环
while
: 逻辑比较复杂用while
for
: 逻辑比较简单,遍历数据的话一定是for(while也可以遍历数据,但是遍历的数据不能是无序的)
# 遍历 循环 迭代 , 把容器中的元素一个一个获取出来# while循环在遍历数据时的局限性"""lst = [1,2,3,4,5] # oki = 0while i < len(lst): print(lst[i]) i+=1setvar = {"a","b","c"} # not oki = 0while i < len(setvar): print(setvar[i]) i+=1"""# for循环的基本语法"""Iterable 可迭代性数据:1.容器类型数据 2.range对象 3.迭代器for 变量 in Iterable: code1."""# 字符串container = "北京和深圳温差大概20多度"# 列表container = [1,2,3,4,4,5]# 元组container = ("孙开洗","孙健","孙悟空")# 集合 container = {"陈璐","曹静怡","王志国","邓鹏","合力"}# 字典container = {"cl":"风流倜傥","cjy":"拳击选手","wzg":"寻花问柳","dp":"帅气,祖国的栋梁","hl":"你是个好人"}# 遍历数据for i in container: print(i)print("<===================>")# 1.遍历不等长多级容器container = [1,2,3,4,("嗄","234",{"马春配","李虎凌","刘子涛"})]for i in container: # 判断当前元素是否是容器,如果是,进行二次遍历,如果不是,直接打印 if isinstance(i,tuple): # ("嗄","234",{"马春配","李虎凌","刘子涛"}) for j in i: # 判断当前元素是否是集合,如果是,进行三次遍历,如果不是,直接打印 if isinstance(j,set): # j = {"马春配","李虎凌","刘子涛"} for k in j : print(k) else: print(j) # 打印数据 else: print(i)# 2.遍历不等长多级容器container = [("刘玉波","历史源","张光旭"), ("上朝气","于朝志"),("韩瑞晓",)]for i in container: for j in i: print(j)# 3.遍历等长的容器container = [("马云","小马哥","马春配") , ["王健林","王思聪","王志国"],{"王宝强","马蓉","宋小宝"}]for a,b,c in container: print(a,b,c)# 变量的解包a,b,c = "poi"a,b = (1,2)a,b = 1,2a,b,c = [10,11,12]a,b = {"林明辉","家率先"}a,b = {"lmh":"林明辉","jsx":"家率先"}a,b,c = ("马云","小马哥","马春配")print(a,b,c)# ### range对象"""range([开始值,]结束值[,步长])取头舍尾,结束值本身获取不到,获取到它之前的那一个数据"""# range(一个值)for i in range(5): # 0 ~ 4 print(i)# range(二个值)for i in range(3,8): # 3 4 5 6 7 print(i)# range(三个值) 正向的从左到右for i in range(1,11,3): # 1 4 7 10 print(i)# range(三个值) 逆向的从右到左for i in range(10,0,-1): # 10 9 8 7 ... 1 print(i)# 总结:"""while 一般用于处理复杂的逻辑关系for 一般用于迭代数据部分情况下两个循环可以互相转换;"""i = 1while i <= 9: j = 1 while j <= i: print("%d*%d=%2d " % (i,j,i*j) ,end="" ) j+=1 print() i +=1for i in range(1,10): for j in range(1,i+1): print("%d*%d=%2d " % (i,j,i*j) ,end="" ) print()# 打印 1 ~ 10 跳过5i = 1while i <= 10: if i == 5: i += 1 continue print(i) i +=1for i in range(1,11): if i == 5: continue print(i)
小提示:
"".strip() 可以去掉字符串的两边的空白符,包括\nin 不能在纯数字中使用,如果是字典的话判断你的是字典的键元组不能用while循环来显示,因为内容是无序的外层是集合,里面不能是列表lst = [ ["a",1] , {"b","250"}]dic = dict(lst)print(dic) 这里可能会输出{'a':1,'b':'250'}或者{'a':1,'250':'b'}lst = ["a1","b2"]dic = dict(lst)print(dic) 这里会输出{a:1,b:2}lst = ["a11","b22"]dic = dict(lst)print(dic) 这里就会报错isinstance比type用的多在一个文件中-5 - 正无穷a = 3b = 3 a和b的id是一样a = b =3 不管是不是-5到正无穷,a和b的id都是一样的height = int(intput("你身高多少:") ) 字符串为什么不能用int进行强转(字符串是小数的)help(print) # print的帮助文档
4. 小练习
问题:
1.利用if语句写出猜大小的游戏: 设定一个理想数字比如:66, 让用户三次机会猜数字,如果比66大,则显示猜测的结果大了; 如果比66小,则显示猜测的结果小了; 只有等于66,显示猜测结果正确,退出循环。 最多三次都没有猜测正确,退出循环,并显示'都没猜对,继续努力'。2.使用while和for 遍历字符串 "IG战队牛逼"3.使用for循环对s="黄绿青蓝紫"进行循环,每次打印的内容是每个字符加上"色的", 例如:黄色的 绿色的 青色的 ... 4.完成要求:用户可持续输入(while循环) 输入A,则显示走大路回家,然后在让用户进一步选择: 是选择公交车,还是步行? 选择公交车,显示10分钟到家,并退出整个程序。 选择步行,显示20分钟到家,并退出整个程序。 输入B, 则显示走小路回家,并退出整个程序。 输入C, 则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧? 选择游戏厅,则显示 '一个半小时到家,爸爸在家,拿棍等你。'并让其重新输入A,B,C选项。 选择网吧,则显示'两个小时到家,妈妈已做好了战斗准备。'并让其重新输入A,B,C选项。5.写代码:计算 1 - 2 + 3 - 4 + ... + 99 中除了88以外所有数的总和?6.(升级题)打印菱形小星星 * *** ***** ******* ******************************* ********* ******* ***** *** *
答案:
"""1.利用if语句写出猜大小的游戏: 设定一个理想数字比如:66, 让用户三次机会猜数字,如果比66大,则显示猜测的结果大了; 如果比66小,则显示猜测的结果小了; 只有等于66,显示猜测结果正确,退出循环。 最多三次都没有猜测正确,退出循环,并显示'都没猜对,继续努力'。""""""times = 1while times <= 3: num = input("请输入一个数字:") if num.isdecimal(): num = int(num) if num > 66: print("结果大了") elif num == 66: print("对了 bingo老婶") break elif num < 66: print("结果小了") else: print("抱歉,数字格式不对~") if times == 3: print("都没猜对,继续努力") times +=1"""# 2.使用while和for 遍历字符串 "IG战队牛逼"strvar="IG战队牛逼"i = 0while i < len(strvar): print(strvar[i]) i +=1for i in strvar: print(i)# 3.使用for循环对s="黄绿青蓝紫"进行循环,每次打印的内容是每个字符加上"色的", # 例如:黄色的 绿色的 青色的 ... s="黄绿青蓝紫"for i in s: print(i + "色的" ) # 4.完成要求:# 用户可持续输入(while循环) # 输入A,则显示走大路回家,然后在让用户进一步选择: # 是选择公交车,还是步行? # 选择公交车,显示10分钟到家,并退出整个程序。 # 选择步行,显示20分钟到家,并退出整个程序。 # 输入B, # 则显示走小路回家,并退出整个程序。 # 输入C, # 则显示绕道回家,然后在让用户进一步选择: # 是选择游戏厅玩会,还是网吧? # 选择游戏厅,则显示 '一个半小时到家,爸爸在家,拿棍等你。'并让其重新输入A,B,C选项。 # 选择网吧,则显示'两个小时到家,妈妈已做好了战斗准备。'并让其重新输入A,B,C选项。"""sign = Truewhile sign: opt = input("请输入选项A,B,C") if opt.lower() == "a": print("走大路回家") opt = input("是选择公交车,还是步行?") if opt == "公交车": print("10分钟到家,") sign = False # break elif opt == "步行": print("20分钟到家") sign = False # break elif opt.lower() == "b": print("走小路回家") break elif opt.lower() == "c": print("绕道回家") opt = input("是选择游戏厅玩会,还是网吧?") if opt == "游戏厅": print("一个半小时到家,爸爸在家,拿棍等你。") elif opt == "网吧": print("两个小时到家,妈妈已做好了战斗准备。")"""# 5.写代码:计算 1 - 2 + 3 - 4 + ... + 99 中除了88以外所有数的总和?total = 0for i in range(1,100): if i == 88: continue if i % 2 == 1: total += i elif i%2 == 0: total -= iprint(total)total = 0i = 1while i <= 99: if i == 88: i +=1 continue if i % 2 == 1: total += i elif i%2 == 0: total -= i i +=1print(total)# 6.(升级题)打印菱形小星星""" * *** ***** ******* ******************************* ********* ******* ***** *** *""""""空格 + 星星 + 换行总行数:对于任意个星星n ,总行数: n // 2 + 113 -> 711 -> 69 -> 57 -> 4空格:对于当前行i , 空格数量 = 总行数 - 当前行 1 => 52 => 43 => 34 => 25 => 16 => 0星星:对于当前行i , 星星数量 = 2 * 当前行 - 11 => 12 => 33 => 54 => 7"""# n = int(input("输入星星个数"))n = 13hang = n // 2 + 1i = 1while i <= hang: # 打印空格 kongge = hang - i print(" " * kongge,end="") # 打印星星 xingxing = 2 * i - 1 print("*" * xingxing,end="") # 打印换行 print() i += 1i = hangwhile i >= 1: # 打印空格 kongge = hang - i print(" " * kongge,end="") # 打印星星 xingxing = 2 * i - 1 print("*" * xingxing,end="") # 打印换行 print() i -= 1# 方法二n = 11hang = n // 2 + 1i = 1while i <= hang: # 打印空格 kongge = hang - i while kongge>0: print(" ",end="") kongge -= 1 # 打印星星 xingxing = 2 * i - 1 j = 1 while j <= xingxing: print("*" ,end="") j += 1 # 打印换行 print() i += 1i = hangwhile i >= 1: # 打印空格 kongge = hang - i while kongge>0: print(" ",end="") kongge -= 1 # 打印星星 xingxing = 2 * i - 1 j = 1 while j <= xingxing: print("*" ,end="") j += 1 # 打印换行 print() i -= 1# (扩展了解)"""abs 求绝对值的内置函数 abs(-1) = 1"""print("<===11111==>")for i in range(-6,7): # 只有一句代码的话,可以直接写在冒号的右边; if i == 0:continue print(" " * (abs(i) - 1),"*" * (13-2*abs(i)))
到此,关于"Python全栈的for循环怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
循环
选择
输入
数据
字符
数字
星星
用户
结果
猜测
两个
方法
公交车
字符串
容器
小时
游戏厅
程序
网吧
还是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关系数据库有哪一些
人代会网络安全知识
国家面对网络安全
数据库对接 几种方式
长寿区一站式软件开发流程要求
宝山区信息化软件开发欢迎咨询
如何保护网络安全讲座心得体会
复旦大学软件开发工具考题
窗体连接附加数据库代码
计算机网络安全的对策的论文
云南服务器集群
西安大数据库刘鑫
plc数据库文件怎么读取
软件开发方案书成功案例
上海高品质服务器厂家
成吉思汗3 服务器忙
武汉英泰斯特软件开发
网络安全与分享经济
手机如何通过服务器上网
曙光服务器2308阵列配置
手机应用软件开发区小吃街
洛阳定制软件开发
网络安全党委负责制
瑞士档案馆 数据库
网络安全高级工程师
wow服务器pvp
qq邮箱smtp服务器在哪
服务器升级申请
客户端如何打开服务器端的项目
java游戏服务器编程