程序三大流程
- 顺序 —— 从上向下,顺序执行代码
- 分支 —— 根据条件判断,决定执行代码的 分支
- 循环 —— 让 特定代码 重复 执行
python提供了for和while循环
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体 |
for 循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
while循环
流程图
image.png语句
同样需要注意冒号和缩进
定义初始值
while 布尔表达式:
循环执行体
迭代语句
输出1~100数字
#输出1~100
i=1#定义i的初始值
while i <= 100:#判断条件
print(i)
i+=1#叠加i
求1~100的和
'''
需求分析:
1.声明一个变量 存放和
2.找出1到100之间的数字
3.完成叠加
4.输出结果
程序的运行过程:
sum=0
a=1
循环第一次:
a=1
sum=0+1
循环第二次:
a=2
sum=0+1+2
循环第三次:
a=3
sum=0+1+2+3
循环第四次:
a=4
sum=0+1+2+3+4
...
循环第九十九次:
a=99
sum=0+1+2+3+4+...+99
循环第一百次:
a=100
sum=0+1+2+3+4+...+99+100
'''
#1~100的总和
sum=0#声明变量存放和
a=1#定义i的初始值
while a <= 100:#判断条件,找出1到100之间所有的数字
sum=sum+a#完成叠加
a+=1
print("1到100的总和:%s"%sum)
无限循环
#我们可以通过设置条件表达式永远不为 false 来实现无限循环
var = 1
while var == 1 : # 表达式永远为 true
num = int(input("输入一个数字 :"))
print ("你输入的数字是: ", num)
print ("Good bye!")
while 和 if 结合使用
"""
需求:
计算1到100之间偶数的和
偶数:能被2整除的数
需求分析:
1.声明变量 存放和
2.找出1到100之间所有的数字
3.判断是否是偶数
4.偶数完成叠加
5.输出结果
程序的运行过程:
sum=0
a=1
循环第一次:
a=1
循环第二次:
a=2
sum=0+2
循环第三次:
a=3
循环第四次:
a=4
sum=0+2+4
"""
#声明变量 存和
sum=0
#找出1到100之间所有的数字
a=1
while a<=100:
#判断是否是偶数
if a%2==0:
#完成叠加
sum=sum+a
a+=1
#输出结果
print("1到100之间偶数的和是:%s"%sum)
while 和 while 结合
"""
需求:输出九九乘法表
需求分析:
外层循环控制行 9
内层循环控制每行的列数 内层循环会随着外层循环的增多而增多
程序的运行过程:
x=1
外层循环第一次:
x=1
y=1
内层循环:
输出内容:1*1=1
外层循环第二次:
x=2
y=1
内层循环:
输出内容:2*1=2 2*2=4
外层循环第三次:
x=3
y=1
内层循环:
输出内容:3*1=3 3*2=6 3*3=9
...
"""
#外层循环控制行
x=1
while x<=9:
#内层循环 控制每行的列数
y=1
while y<=x:
print("%s*%s=%s \t"%(x,y,x*y),end="")
y+=1
#换行
print()
x+=1
while 和 break(break要结合if)
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
var = 10
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
while 和 continue(continue也是和if结合)
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
var = 10 # 第二个实例
while var > 0:
var = var -1
if var == 5: # 变量为 5 时跳过输出
continue
print ('当前变量值 :', var)
print ("Good bye!")
for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
遍历列表
languages = ["C", "C++", "Perl", "Python"]
for a in languages:
print(a)
for 和 break
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print("菜鸟教程!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列
for i in range(5):
print(i)
for i in range(5,9):
print(i)
for i in range(5,17,3):
print(i)
for 和 for
for n in range(2, 40):
for x in range(2, n):
if n % x == 0:
print(n, '等于', x, '*', n//x)
break
for 和 break
for letter in 'Runoob':
if letter == 'b':
break
print ('当前字母为 :', letter)
for 和 continue
for letter in 'Runoob':
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
while 、for 练习题
求1~100的偶数
for i in range(0,101,2):
print(i,end="\t")
i=0
while i<=100:
if i%2==0:
print(i,end="\t")
i+=1
输出10行10列的
for i in range(1,11):
for j in range(1,11):
print("*",end="")
print()#换行
i=1
while i<=10:
p=1
while p<=10:
print("*",end="")
p+=1
i+=1
print()
*输出直角三角形
for i in range(1,7):
#print(i)
for j in range(1,i):
print("*",end="")
print()
i=1
while i<7:
p=0
while p<i:
print("*",end="")
p+=1
print()
i+=1
九九乘法表
for i in range(1,10):
for j in range(1,i):
print("%s*%s=%s"%(j,i,j*i),end=" ")
print()#换行
学生管理简易系统
print(" ========================================")
print(" 欢迎进入学员管理系统")
print("a.注册")
print("b.登录")
print("c.退出")
print("d.修改密码")
print(" ========================================")
#超级账号
new_user = "Mr Hu"#超级管理员,胡老师
new_password = "so cool"
while True:
# 判断你的选项
choose = input("请输入您的选项a b c d:")
# 选项a
if choose == "a":
print("欢迎进入注册界面")
new_user = input("输入注册账号:")
#global new_user
new_password = input("输入注册密码:")
#global new_password
print("注册成功")
# 选项b
elif choose == "b":
print("进入登录界面")
user = input("输入账号:")
password = input("输入密码:")
if (user == new_user and password == new_password) or (user == "Mr Hu" and password == "so cool"):
print("登陆成功")
else:
print("输入有误") # 存在bag,不知道密码还是账号有误,而且退出有问题。
#选项c
elif choose == "c":
print("再见,欢迎下次进入。")
break
#选项d
elif choose == "d":
print("进入修改密码界面")
new_password = input("请输入您要修改的密码:")
print("修改成功")
#其他情况
else:
print("该功能不支持")
总结
- for循环 用于匹配特定集合,并进行循环
- while循环 用于判断条件为真,并进行循环
网友评论