Lesson 63 python中for语句的基础知识与示例
1. range():内置的python函数
range(stop) #0~stop-1
range(start,stop) #start~stop-1
range(start,stop,step) #step为步长
在python2中
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(7)
[0, 1, 2, 3, 4, 5, 6]
>>> range(1,7)
[1, 2, 3, 4, 5, 6]
>>> range(3,7)
[3, 4, 5, 6]
>>> range(11)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,11,2)
[1, 3, 5, 7, 9]
>>> range(2,11,2)
[2, 4, 6, 8, 10]
>>> range(2,11,3)
[2, 5, 8]
>>> range(11,2)
[]
由最后一个可以看出, range的参数范围不能先写大数, 后写小的数, range会无效
2. for 循环使用的语法
for 变量 in range(10):
循环需要执行的代码
else:
全部循环结束后要执行的代码
3. for 循环使用range()函数的小练习
- 求1~100的和
sum = 0
for i in range(1,101):
sum +=i #sum = sum + i
print(sum)
- 求1~100的奇数之和
sum = 0
for i in range(1,101,2):
sum += i
print(sum)
- 求1~100的偶数之和
sum = 0
for i in range(2,101,2):
sum += i
print(sum)
- 用户输入一个数字,求该数的阶乘 例如:3!=321
// An highlighted block
var foo = 'bar';
可以看到, 输入测试数据为10, 显示10的阶乘为3628800
4. for 循环使用示例:用户登陆程序
1.输入用户名和密码
2.判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
3.为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错
for i in range(3): #0 1 2
name = input('用户名:')
passwd = input('密码:')
if name == 'root' and passwd == 'westos':
print('登陆成功')
# 跳出整个循环,不会再执行后面的内容
break
else:
print('登陆失败')
print('您还剩余%d次机会' %(2-i))
else:
print('登陆次数超过三次,请等待100s后再次尝试登陆')
测试:运行代码, 在登陆次数剩余一次时登陆成功
运行代码, 在登陆三次后显示登录失败,请等待100s后再次尝试登陆