1.range
range()内置python函数
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop-1,step为步长
2.for 循环使用时的语法:
for 变量 in range(10):
循环需要执行的代码
else:
全部循环结束后要执行的代码
##练习:
1. 用户登陆程序
输入用户名和密码
判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错
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('超过三次,失败')
2.有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if a != b and b !=c and a!=c:
print(a,b,c)
3.输入两个数值:
求两个数的最大公约数和最小公倍数.
最小公倍数=(num1*num2)/最大公约数
3.break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面的代码不再执行,但是循环依然继续
4.while 循环使用时的语法
1.while循环
while 条件满足:
满足条件执行的语句
else:
不满足条件执行的语句
sum = 0
i =1
while i<=100:
sum += i
i +=1 ##每次循环完自身加1
print(sum)
2.while循环嵌套
要求打印以下:
*
**
***
****
*****
******
*******
********
*********
row = 1
while row <=9:
col = 1
while col <= row:
print('%d * %d = %d\t' %(row,col,col*row),end='') ##end=''表示输出结束不换行
col +=1
print('') ##print('')表示输出结束换行
row += 1
3.练习
先思考,不要看答案
猜数字游戏
if , while, break
1. 系统随机生成一个1~100的数字;
** 如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“猜大了”;
4. 如果用户猜测的数字小于系统给出的数字,打印"猜小了";
5. 如果用户猜测的数字等于系统给出的数字,打印"很遗憾,机会用完了",并且退出循环;
5.补充
1.\t:在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐
print('1 2 3')
print('10 20 30')
print('1\t2\t3')
print('10\t20\t30')
2.\n:在控制台输出一个换行符
print('hello\npython')
3.:转义字符
print('what\'s')
print("what's")
4.实现命令行提示符
import os
for i in range(1000):
cmd = input('[root@test ~]# ')
if cmd:
if cmd == 'exit':
print('logout')
break
else:
print('run %s' %(cmd))
os.system(cmd) # 运行shell命令
else:
continue