1 for循环语句格式
1.1 for循环语句格式:
"""
for循环语法:
for 变量 in range(x):
循环需要执行的代码
"""
"""
range(stop): 0 ~ stop-1
range(start,stop): start ~ stop-1
range(start,stop,step): start ~ stop-1 step(步长)
"""
# print(range(1,10,2))
[root@foundation72 ~]# python
Python 2.7.5 (default, Aug 2 2016, 04:20:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,15)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> range(1,15,3)
[1, 4, 7, 10, 13]
>>>
1.2 break、continue、exit():
"""
break:跳出整个循环,不会再执行循环后面的内容
continue:跳出本次循环,continue后面的代码不再执行,但是循环依然继续
exit():结束程序的运行
"""
for i in range(10):
if i == 5:
# continue
# break
exit()
print('hello')
print(i)
print('hello python')
break控制:
continue控制:
exit()控制:
1.3 for循环语句练习一:
#1~100之间的所有偶数求和(奇数和类似,range(1,100,2))
sum = 0
for i in range(2,101,2):
sum += i
print(sum)
#求输入数字的阶乘
num = int(input('Num:'))
res = 1
for i in range(1,num+1):
res *= i
print('%d的阶乘结果为: %d' %(num,res))
1.4 for循环语句练习二:
"""
有1,2,3,4四个数字
求四个数字能生成多少个互不相同且无重复数字的三位数(不能含有122 133类似)
"""
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i != j and j !=k and k != i:
print(i * 100 + j * 10 + k)
count += 1
print('生成%d个无重复数字的三位数' %count)
1.5 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次,请稍后再试!')
1.6 for循环语句练习四:
"""
模拟shell中的命令行
"""
import os
# os.system('ls')
# a = input('[kiosk@foundation0 ~]$ ')
# print(a)
for i in range(1000):
cmd = input('[kiosk@python ~]$ ')
if cmd:
if cmd == 'exit':
print('logout')
else:
os.system(cmd)
else:
continue
1.7 for循环语句练习五:
"""
求最大公因数和最效小公倍数
最大公因数=两个都能整除的最大的因子
最小公倍数 = (num1 * num2) / 最大公约数
min(1,3) 求小数
max(3,10) 求大数
"""
#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))
#############################The End################################