1.for循环
range的用法
range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)
for循环语句机构
for 变量 in range(10):
循环需要执行的代码
例子
遍历0~4
for i in range(5):
print(i)
求1~100之间所有偶数之和
sum = 0
for i in range(2,101,2):
sum += i
print(sum)
求1~100之间所有奇数之和
sum1 = 0
for i in range(1,101,2):
sum1 += i
print(sum1)
求阶乘
num = int(input('Num:'))
res = 1
for i in range(1,num + 1):
res *= i
print('%d的阶乘为:%d' %(num,res))
2.break和continue和exit()
借一个程序来理解
break是跳出循环,但是会执行循环外面的代码
continue是继续执行代码,不会有任何的影响
exit()是直接退出此程序
3.for循环练习
有1,2,3,4四个数字
求这四个数字能生成多少个互不相同且无重复数字的三位数
num = 0
for i in range(1,4):
for j in range(1,4):
for k in range(1,4):
if( i != j and i != k and j != k):
num += 1
print(num)
用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name='root',passwd='westos')
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('登录次数超过三次,请稍后登录')
求两个数的最大公约数和最小公倍数
最小公倍数=(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 = int((num1 * num2) / gys)
print('%s和%s的最大公约数为:%s' %(num1,num2,gys))
print('%s和%s的最小公倍数为:%s' %(num1,num2,gbs))
4.while
while循环语法结构
while 条件():
条件满足时,做的事情1
条件满足时,做的事情2
例子
循环3次输出
#1.定义一个整数变量,记录循环的次数
i = 1
#2.开始循环
while i <= 3:
#希望循环内执行的代码
print('hello python')
#处理计数器
i += 1
死循环(谨慎运行)
#定义死循环
while True:
print('hello python')
5.while循环练习
计算1~100之间的数
#1.定义一个整数记录循环的次数
i = 0
#2.定义最终结果的变量
result = 0
#3.开始循环
while i <= 100:
print(i)
#4.每次循环都让result和i这个计数器想加
result += i
#5.处理计数器
i += 1
print('0~100之间的数字求和结果为 %d' %result)
while实现下列功能
用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name='root',passwd='westos')
3.登录仅有三次机会,超过3次会报错
trycount = 0
while trycount < 3:
name = input('用户名:')
passwd = input('密码:')
if name == 'root' and passwd == 'westos':
print('登录成功')
break
else:
print('登录失败')
print('您还剩余%d次机会' %(2 - trycount))
trycount += 1
else:
print('登录次数超过三次,请稍后登录')
6.while嵌套
在控制台连续输出五行*,每一行星号数量一次递增
*
**
***
****
*****
# 1.控制行
for i in range(6):
# 2.控制*的数量
for j in range(6):
if i > j :
print("*",end='')
print(" ")
如果想要星星倒过来呢
# 1.控制行
for i in range(6):
# 2.控制*的数量
for j in range(6):
if i < j :
print("*",end='')
print(" ")