一.结构
for 循环使用的语法
for 变量 in range(10):
循环需要执行的代码
range(stop): 0~stop-1
range(start,stop): start~stop-1
range(start,stop,step): start~stop step(步长)
-
练习
for i in range( )
# 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))
二.break与continue用法
for i in range(10):
if i == 5:
# continue ##忽略本次循环之后的输出
# break ##打断循环
exit() ##退出循环
print(i)
print('hello python')
三.for循环练习
-
练习1
cotinue用法
"""
# _*_coding:utf-8_*_
Name:三位数.py
Date:1/13/19
Author:westos-dz
Desc:有1,2,3,4四个数字,求这四个数字能够生成多少个互不相同且无重复数字的三位数
"""
"""
依次抽取3个数字
存在两个数字相同的情况忽略
其他情况计数加1
打印总计数
随即抽取三个数字,有多少种构成
"""
i = 0 ##计数从0开始
for a in range(1, 5): ##从1-4中抽取第一位数字
for b in range(1, 5): ##从1-4中抽取第二位数字
if (a == b): ##如果两个数字相同,跳过计数
continue
else: ##两个数字不相同,继续计数
for c in range(1, 5): ##从1-4中抽取第三个数字
if (a == b or a == c or b == c): ##如果存在两个数字相同的情况,跳过计数
continue
else: ##否则计数加1
i = i + 1
print('1,2,3,4可以构成%d种互不相同且无重复数字的三位数' %i) ##打印最终计数
-
练习2
continue与break用法
"""
# _*_coding:utf-8_*_
Name:登陆.py
Date:1/13/19
Author:westos-dz
Desc:用户登陆需求:
1.输入用户名和密码
2.判断用户名和密码是否正确(name='root',passwd='westos')
3.登陆仅有三此机会,超过三次会报错
"""
chance=3 ##定义计数器
for i in range(1,4): ##开始循环,i从1开始至3
username = str(input('请输入用户名:'))
passwd = str(input('请输入密码:'))
if (username == 'root' and passwd == 'westos')
print('用户登陆成功')
break
else:
chance = chance -1 ##计数器控制
print('error,用户名或密码错误,您还有%d次输入机会' %chance)
if (chance != 0): ##根据计数器大小判断循环状态
continue
else:
print('error,请稍后再试')
break
-
练习3
实现命令行提示符
运行结果如下:
import os
cmd = 'pwd'
os.system(cmd)
"""
# _*_coding:utf-8_*_
Name:test.py
Date:1/16/19
Author:westos-dz
Desc:
"""
import os
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
取出数字中的最大最小数
num = min(num1,num2)
num = max(num1,num2)
"""
# _*_coding:utf-8_*_
Name:最大公约数.py
Date:1/13/19
Author:westos-dz
Desc:客户输入两个数字
"""
num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
num = min(num1, num2)
for i in range(1, num + 1):
if (num2 % i == 0 and num1 % i == 0): ##找出两个数字的公约数
nummax = i ##重复赋值,循环结束,为最大公约数
print('%d与%d的最大公约数为%d' % (num1, num2, nummax))
nummin = (num1 * num2) / nummax
print('%d与%d的最小公倍数为%d' % (num1, num2, nummin))