Python.循环

2023-05-16

一、循环结构:

        是程序控制流程的三大结构之一(三大手段、方法之一)。通过指定的条件将循环体进行有限次或无限次(死循环)地重复运行。在Python中主要用到while和for函数实现。

二、while函数:

格式:

while 条件:

        循环体语句

条件为表达式,为真则执行循环体语句为假则停止循环。

注意:

1、缩进:子句开头都应用一致的方式缩进,用tab键就不用空格,不能混用,推荐用tab键。

2、冒号应用英文冒号。

eg:

shu = 1
he = 0
while (shu < 100):
	he = he + shu
	shu += 2
print(he)

三、for函数:

格式:

for 变量 in 容器:

        循环体语句

        in 为关键字,for in 是将变量遍历容器的,不用为该变量赋初值,变量值随遍历容器而改变,容器中有多少个值,循环体便执行多少次,循环结束时变量值为容器中的最后一个值。for in 一般与range函数连用,range函数可较为便捷的实现一个给定范围的容器。

注意:

1、缩进:子句开头都应用一致的方式缩进,用tab键就不用空格,不能混用,推荐用tab键。

2、符号应用英文符号。

        range函数:

格式:

range(参数1,参数2,参数3)

参数1,2给定范围,前闭后开,参数3为取值步数。

eg:

he = 0
for i in range(1,101,2):
	he += i
print(he)

 四、while,for的特殊方法和搭配:

1、在while循环中不用写条件时,可用True(首字母大写)代替。

2、在while循环和for循环未完成时,想跳过让程序执行可以在循环体语句部分写上pass。

pass也适用于其它诸多函数。

3、将continue写在循环体部分,可以将在continue下方紧挨着它的那条语句跳过。

4、在循环体部分中,执行break语句可以打断循环。

5、while函数与for函数可与else函数配用。当循环正常结束时,执行else函数。

五、while函数与for函数在不同情况的适配:

1、while函数更适用于循环条件较为复杂,循环次数不易直接给定的情况。

2、for函数适用于循环次数较易给定,循环条件较为简单,需要遍历某个范围的变量参与循环的情况。

六、嵌套与混搭:

while函数与for函数可与其它函数嵌套与混搭(包括其本身)

eg:

sjh2 = 0
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
fk = 0
# 英雄联盟登录界面
print("\t\t\t     欢迎来到英雄联盟!")
for i in range(1,40):
	print("~*",end = "")
print("\n")
while (a == 0):
	b = 0
	c = 0
	d = 0
	e = 0
	f = 0
	fk = 0
	print("\t\t\t     英雄联盟登录界面\n")
	for i in range(1,40):
		print("~*",end = "")
	print("")
	print("\t\t\t\t1.用户登录\n")
	print("\t\t\t\t2.用户注册\n")
	print("\t\t\t\t3.退出游戏")
	for i in range(1,40):
		print("~*",end = "")
	print("")
# 登录
	xz1 = int(input("请输入你的选择:"))
	if (xz1 == 1):
		while (b == 0):
			zh1 = int(input("请输入你的账户:"))
			if (sjh2 == 0):
				print("账号未注册!请先注册!")
				b = 1
			elif (zh1 != sjh):
				print("账号错误请重新输入!")
				b = 0
			elif (zh1 == sjh):
				while (c == 0):
					mm1 = input("请输入你的密码:")
					if (mm1 != mm2):
						print("密码错误请重新输入!")
					elif (mm1 == mm2):
						b = 1
						c = 1
						print("登录成功,正在加载中!")
						for i in range(1,40):
							print("~*",end = "")
						print("\n")
					# 英雄联盟首页
						while (f == 0):
							print("\t\t\t\t英雄联盟首页\n")
							for i in range(1,40):
								print("~*",end = "")
							print("")
							print("\t\t\t\t1.英雄超市\n")
							print("\t\t\t\t2.英雄抽奖\n")
							print("\t\t\t\t3.返回")
							for i in range(1,40):
								print("~*",end = "")
							print("")
							xz2 = int(input("请输入你的选择:"))
						# 英雄超市
							if (xz2 == 1):
								print("英雄大礼包火热促销!现价288元!")
								gm = int(input("请输入你的购买数量:"))
								yf = 288 * gm
								print("应付:%s"%yf)
								while (fk != yf):
									fk = int(input("请付款:"))
									if (fk != yf):
										print("金额错误!")
									elif (fk == yf):
										print("正在打印小票。。。。。")
						# 英雄抽奖				
							elif (xz2 == 2):
								print("英雄抽奖火热进行中!")
								aa = int(input("请输入两位数的幸运数字:"))
								import random
								bb = random.randint(10,99)
								aa1 = aa // 10
								aa2 = aa % 10
								bb1 = bb // 10
								bb2 = bb % 10
								if(aa == bb):
									print("恭喜你中大奖了!5个英雄马上到账!")
								elif(((aa1 == bb1) and (aa2 == bb2)) or ((aa1 == bb2) and (aa2 == bb1))):
									print("恭喜3个英雄到你家")
								elif((aa1 == bb1) or (aa1 == bb2) or (aa2 == bb1) or (aa2 == bb2)):
									print("恭喜1个英雄到你家")
								else:
									print("要不,再来一次?")
						# 返回		
							elif (xz2 == 3):
								f = 1
								print("正在加载。。。。。。。")
# 注册						
	elif (xz1 == 2):
		while (d == 0):
			sjh = int(input("请输入你的手机号(作为账号使用):"))
			if (sjh < 10000000000 or sjh > 99999999999):
				print("手机号有误或不存在,请重新输入!")
				d = 0
			else :
				d = 1
				sjh2 = sjh
				yzm = int(input("请输入你的验证码(手机号后六位):"))
				while (e == 0):
					mm2 = input("请输入你的密码:")
					mm3 = input("请再次输入你的密码:")
					if (mm2 != mm3):
						print("密码不一致,请重新输入!")
						e = 0
					elif (mm2 == mm3):
						print("注册成功,现在你可以登录了!")
						e = 1
# 退出游戏						
	elif (xz1 == 3):
		print("你已成功退出,欢迎你的下一次游玩!")
		a = 1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python.循环 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 下载 PyQt6 的 Qt Designer 并使用 pyuic6 将 .ui 文件转换为 .py 文件

    如何下载 PyQt6 的 QtDesigner 如果没有适用于 PyQt6 的 QtDesigner 我也可以使用 PyQt5 的 QtDesigner 但是如何将此 ui 文件转换为使用 PyQt6 库而不是 PyQt5 的 py 文件
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar

随机推荐