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))
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后再登陆')