python基础之for循环

本文深入解析Python中for循环的语法与用法,包括range()函数的多种应用,通过实例展示如何求和、计算阶乘及解决实际问题,如求最大公约数和最小公倍数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值