for循环
- 知识点
for 循环的语法:
for 变量 in range(10):
循环需要执行的代码
else:
循环结束时需要执行的代码
break:跳出整个循环,不会再执行循环后续的内容
continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
exit():结束程序的运行
python2:
-range(1,5):即刻生成数据,消耗时间并且占用内存
-xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存
python3:
-range(1,5):相当于python2中的xrange
range()函数
range(stop): 0~stop 1
range(start,stop):start~stop 1
range(start,stop,step):start~stop step(步长)
- 例题:
"""
In [1]: range(5)
Out[1]: [0, 1, 2, 3, 4]
In [2]: range(7)
Out[2]: [0, 1, 2, 3, 4, 5, 6]
In [3]: help(range)
In [4]: range(1,10)
Out[4]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [5]: help(range)
# 拿出1~10之间的所有偶数
In [6]: range(1,10,2)
Out[6]: [1, 3, 5, 7, 9]
In [7]: range(1,11,2)
Out[7]: [1, 3, 5, 7, 9]
# 拿出1~10之间的所有偶数
In [8]: range(2,11,2)
Out[8]: [2, 4, 6, 8, 10]
"""
# 1+2+3+...+100=
sum = 0
for i in range(1,101):
sum = sum + i
print(sum)
# 需求1:求1~100之间的所有偶数之和
# 需求2:求1~100之间的所有奇数之和
# 需求3:用户输入一个整形数,求该数的阶乘;3!=3*2*1
num = int(input('Num:')) #num=3
res = 1
for i in range(1,num+1): # range(1,4)
res = res*i
else:
print('~~~~~~~~~~~~~')
print('%d的阶乘的结果为:%d' %(num,res))
#实现命令行小例子:
import os
while True:
cmd = input('[root@test]$')
if cmd:
if cmd == 'exit':
print('logout')
break
else:
print('run %s' %(cmd))
# 运行shell命令
os.system(cmd)
else:
continue
"""
输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数
"""
# 2,6
#1.输入两个数值
num1 = int(input('Num1:'))
num2 = int(input('Num2:'))
# 2.找出两个数中的最小值
min_num = min(num1,num2)
# 3.最大公约数的范围1~min_num之间
# 最大公约数就是num1和num2能整除的最大的数
for i in range(1,min_num//2+1): #1,2
if num1 % i == 0 and num2 % i ==0:
"""
2%1 ==0; 6%1==0 gys =1
2%2==0; 6%2==0 gys =2
"""
# 当我们循环结束的时候,gys中保存的一定是最大的约数
gys = i
# 4.最小公倍数
lcm = int((num1*num2)/gys)
print('%s和%s的最大公约数为%s' %(num1,num2,gys))
print('%s和%s的最小公倍数为%s' %(num1,num2,lcm))
输出这样的**:
*
* *
* * *
* *
*
代码:
for i in range(1,6):
print(('*'*i).center(3*5))
for i in range(4,0,-1):
print(('*' * i).center(3 * 5))