程序的三大流程:
在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
-
for 循环的一般格式
for 变量 in 可迭代对象:
循环需要执行的代码
- 如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
-
range 的使用
range(stop) #0 ~ stop-1
range(start,stop) #start ~ stop-1
range(start,stop,step) #start ~ stop-1, step表示步长
例如: 输出0-4
代码:
for i in range(5):
print(i)
例如:输出python的每个字母:
for item in 'python':
print(item)
实例:将hello world打印5遍
for _ in range(5):
print('hello world')
运行结果:
示例1:求1~100之间所有偶数之和
代码:
sum = 0
for i in range(0,101,2):
sum += i
print(sum)
运行结果:
示例3:求某个数的阶乘
代码:
result=1
num = int(input('num:'))
for i in range(1,num + 1):
result *= i
print('%d的阶乘为: %d' %(i,result))
运行结果:
-
两种退出格式
break #表示永久终止循环,即不执行本次循环中break后的语句,直接跳出循化
continue #表示终止本次循环,即本次循环中continue后面的代码不执行,进入下一次循环的入口判断
exit() #表示结束进程,即整个退出系统
例如:
(1).break的使用
代码:
for i in range(10):
if i == 5:
break
print(i)
print('hello python')
运行结果:
(2).continue的使用
代码:
for i in range(10):
if i == 5:
continue
print(i)
print('hello python')
运行结果:
(3).exit的使用
代码:
for i in range(10):
if i == 5:
exit()
print(i)
print('hello python')
运行结果:
for 循环的综合练习
需求1:
有1,2,3,4四个数字
求这四个数字能生成多少个互不相同且无重复数字的三位数(432*1=24)
注意:本题目只是让求出符合要求的数字个数,无需输出每个数,不要把题目想复杂了
代码:
# 记录符合要求的数字个数
count = 0
for i in (1,2,3,4):
for j in (1,2,3,4):
for k in (1,2,3,4):
# 去重
if i != j and i != k and j!= k:
count += 1
print(count)
运行结果:
需求2:
输入两个数值:
求两个数的最大公约数和最小公倍数
提示:最小公倍数=(num1 * num2) / 最大公约数
代码:
#1.接收两个数字
num1 = int(input('Num1: '))
num2 = int(input('Num2: '))
#2.找出两个数中的最小值
min_num = min(num1,num2)
#3.最大公约数范围在1~min_num之间
for i in range(1,min_num+1):
if num1 % i ==0 and num2 %i ==0:
gys = i
#4.最小公倍数
gbs = (num1*num2 / gys)
print('%d和%d的最大公约数为: %d' %(num1,num2,gys))
print('%d和%d的最小公倍数为: %d' %(num1,num2,gbs))
需求3:
用for循环实现:
用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name='root',passwd='westos')
3.登录仅有三次机会,超过3次会报错
分析:
用户登陆情况有3种:
用户名错误(此时便无需判断密码是否正确) --登陆失败
用户名正确 密码错误 --登陆失败
用户名正确 密码正确 --登陆成功
代码:
for i in range(3):
name = input('用户名: ')
passwd = input('密码: ')
if name == 'root' and passwd == 'westos':
print('登录成功!')
break
else:
print('登录失败')
print('您还剩余%d次机会' %(2-i))
else:
print('失败超过3次,请稍后再试!')
运行结果:
for…else… 表示当语句体中有 break,return或者异常发生时,则不会执行else中的语句体,余情况下都会执行else中的语句体