1.range
range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)
2.for循环语法
for 变量 in range(num):
循环需要执行的代码
练习1:求1~100之间所有偶数之和
sum = 0
for i in range(2,101,2):
sum += i
print(sum)
练习2:求1~100之间所有奇数之和
sum = 0
for i in range(1,101,2):
sum += i
print(sum)
练习3:求阶乘
num = int(input('Num:'))
res = 1
for i in range(1,num + 1):
res *= i
print('%d的阶乘为:%d' %(num,res))
3.break,continue,exit区别
break :跳出整个循环
continue :跳出当前循环
exit :跳出整个程序
练习1:有1,2,3,4四个数字
求这四个数字能生成多少个互不相同且无重复数字的三位数
time = 0
sum = 0
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if a != b and b != c and c != a:
time += 1
sum = a*100 + b*10 + c
print(sum)
print(time)
练习2:用户登录需求:
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('登录次数超过三次,请稍后登录')
练习3:模拟命令行登陆
import os
while 1:
cmd = input("[kiosk@python test]$" )
if cmd:
if cmd == 'exit':
exit()
else:
os.system(cmd)
else:
print(cmd)
参考2:
for i in range(1000):
cmd = input('[kiosk@test ~]$ ')
if cmd:
if cmd == 'exit':
break
else:
print('run %s' %(cmd))
os.system(cmd)
else:
continue
练习4:输入两个数值:
求两个数的最大公约数和最小公倍数
最小公倍数=(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))