Python之for循环-----带练习题

本节练习题

  • 有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
  • 用户登陆程序需求:
    1. 输入用户名和密码;
    2. 判断用户名和密码是否正确? (name=‘root’, passwd=‘westos’)
    3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会,报错提示;
  • 输入两个数值: 求两个数的最大公约数和最小公倍数.
  • 求1-100所有偶数的和
  • 随机给定数值求阶乘

for循环

1.使用方法

for 变量 in range(10):    #range(x)表示一个范围
    循环要执行的代码

1)解释range
语法:

range(stop): 0 ~ stop-1 
range(start,stop): start ~ stop-1
range(start,stop,step): start ~ stop  #step表示步长

练习:(python2中)

>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
>>> range(1,11,2)   #1-10中所有的奇数,步长为2
[1, 3, 5, 7, 9]
>>> range(2,11,2)	#1-10中所有的偶数,步长为2
[2, 4, 6, 8, 10]

2.练习for循环

练习1

  • 有1,2,3,4四个数字,求这四个数字能生成多少个互不相同且无重复数字的三位数
    思路:定义一个计数器(用于统计有多少个数),然后可使用for循环的嵌套。单独考虑个位/十位/百位,只需要使这3位数字不同即可。
    Python之for循环-----带练习题_第1张图片

练习2

  • 用户登陆程序需求:
    1. 输入用户名和密码;
    2. 判断用户名和密码是否正确? (name=‘root’, passwd=‘westos’)
    3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会,报错提示;
for i in range(3):
	name = input('UserName:')
	passwd = input('Password:')
    if name == 'root' and passwd == 'westos':
        print('Login success')
        break
    else:
        print('Login failed')
        print('%d chance last' %(2 - i))
#循环结束后执行的代码
else:
    print('Please try later!')

登陆成功
Python之for循环-----带练习题_第2张图片
登录失败
Python之for循环-----带练习题_第3张图片

练习3

  • 求1-100所有偶数的和
    Python之for循环-----带练习题_第4张图片

练习4

  • 随即给定数值求阶乘
    注意:此处必须是Num+1,而不能写成Num。可结合range函数理解。举例为-----当Num为3时,完成阶乘的话应当是321,如果给定的是range(1,3)此时就只能完成2*1
    Python之for循环-----带练习题_第5张图片
    一定要定义Num,否则会报错。可以做个类型转换。
    Python之for循环-----带练习题_第6张图片

你可能感兴趣的:(Python)