python-for循环语句、range()函数

1.for循环
2.range

1.for循环
for 循环的语法:

for 变量 in range(10):	#循环0-9次
    循环需要执行的代码
else:
    循环结束时需要执行的代码

2.range()函数:
range(stop): 0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop-1 step(步长)

在python2中操作:

In [1]: range(5)	
Out[1]: [0, 1, 2, 3, 4]	#range(5)相当于输出0-4

In [2]: range(7)
Out[2]: [0, 1, 2, 3, 4, 5, 6]



In [4]: range(1,10)	#输出1-9
Out[4]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

range()在python3中返回与python2返回值不同,python2将返回的所有的数全存在内存中,所以python3更节省内存。
在这里插入图片描述
python2:
-range(1,5):即刻生成数据,消耗时间并且占用内存
-xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存

python3:
-range(1,5):相当于python2中的xrange,节省内存
在这里插入图片描述

#拿出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):	#i从1到100,1.2.3..100
    sum = sum + i		#sum=1+2+3+..+100
print(sum)

练习1:
需求1:求1~100之间的所有偶数之和
需求2:求1~100之间的所有奇数之和
需求3:用户输入一个整形数,求该数的阶乘;3!=321

需求1.

sum = 0
for i in range(2,101,2):
    sum = sum + i
print('偶数之和为:%d' %(sum))

在这里插入图片描述
需求2.

sum = 0
for i in range(1,101,2):
    sum = sum + i
print('奇数之和为:%d' %(sum))

在这里插入图片描述

需求3.

num = int(input('请输入一个整数:'))
res = 1	#阶乘从1开始
for i in range(1,num+1):	#循环从1到num结束,i为计数器
    res = res * i		#每次循环相乘,结果保存在res中
print(res)			#输出阶乘结果

在这里插入图片描述

练习2.
用户登陆程序需求:
1.输入用户名和密码
2.判断用户名和密码是否正确(name = ‘root’,passwd=‘westos’)
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('登陆次数超过三次,请等待100s后再登陆')

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43067754/article/details/84305976