1 、range() 函数用法
range() 函数可创建一个整数列表,一般用在 for 循环中。
格式:range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
示例:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10,1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(0,10,2)
[0, 2, 4, 6, 8]
>>> range(1,10,2)
[1, 3, 5, 7, 9]
2 、for循环语句
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
格式1:
for <变量> in <序列>:
<循环需要执行的代码>
格式2:
for <变量> in <序列>:
<循环需要执行的代码>
else :
<全部循环结束后要执行的代码>
# else 之后的操作必须是for语句遍历序列的每一个项目之后,才能执行,如果中途退出循环则不执行。
应用练习:
1 求1~100之和 :
result = 0
for num in range(1,101):
result +=num
print(result)
输出结果:5050
2 求1~100奇数之和 :
result = 0
for num in range(1,101,2):
result +=num
print(result)
输出结果:2500
3 求1~100偶数之和 :
result = 0
for num in range(2,101,2):
result +=num
print(result)
输出结果:2550
4 用户输入一个数字,求该数的阶乘:
max = int(input('please input the unmber: '))
result = 1
for num in range(1,max+1,):
result *=num
print(result)
效果演示:
[kiosk@foundation47 python]$ python3 shiyan.py
please input the unmber: 4
24
5 用户登陆程序
- 1.输入用户名和密码
- 2.判断用户名和密码是否正确(‘name==root’,'passwd=‘westos’)
- 3.为了防止暴力破解,登陆次数仅有三次,如果超过三次机会,报错
for i in range(3):
username = input('请输入用户名称 :')
passwd = input('请输入用户密码 :')
if username == 'root' and passwd == 'westos' :
print('输入正确,请登陆')
break
else :
times = 2-i
print('输入错误!剩余登陆次数 %d' %times)
else:
print('连续登陆失败3次,请等待15分钟后重新登陆')
效果演示:
[kiosk@foundation47 python]$ python3 shiyan.py
请输入用户名称 :studnet
请输入用户密码 :redhat
输入错误!剩余登陆次数 2
请输入用户名称 :hahah
请输入用户密码 :lelele
输入错误!剩余登陆次数 1
请输入用户名称 :haha
请输入用户密码 :haha
输入错误!剩余登陆次数 0
连续登陆失败3次,请等待15分钟后重新登陆
[kiosk@foundation47 python]$ python3 shiyan.py
请输入用户名称 :root
请输入用户密码 :westos
输入正确,请登陆
3、break、continue、exit()
break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面代码不会执行, 但是循环依然继续的.
exit():结束程序的运行
break 示例 :
for i in range(10):
if i == 5:
break
else :
print(i)
运行结果:
[kiosk@foundation47 python]$ python3 shiyan.py
0
1
2
3
4
continue 示例 :
for i in range(10):
if i == 5:
continue
else :
print(i)
运行结果:
[kiosk@foundation47 python]$ python3 shiyan.py
0
1
2
3
4
6
7
8
9
4 命令行提示符的实现
import os 加载os模块
- 在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。
- os模块中的system()函数可以方便地运行其他程序或者脚本
- os.system(command) 使用格式
import os
for i in range(10000):
cmd = input('[toto@toto47 python]$' )
if cmd :
if cmd == 'quit':
break
else:
os.system(cmd)
else:
continue
效果演示:
[kiosk@foundation47 python]$ python3 shiyan.py
[toto@toto47 python]$
[toto@toto47 python]$
[toto@toto47 python]$绿色
sh: $'\347\273\277\350\211\262': command not found
[toto@toto47 python]$ls
0523 day 02 my day01 shiyan.py
[toto@toto47 python]$pwd
/home/kiosk/PycharmProjects/python
[toto@toto47 python]$quit
[kiosk@foundation47 python]$
练习:
1 输入两个数值:求两个数的最大公约数和最小公倍数。
num1 = int(input('请输入第一个数: '))
num2 = int(input('请输入第二个数: '))
num = min(num1,num2)
for i in range(1, num + 1):
if num1 % i == 0 and num2 % i == 0:
最大公约数=i
print('%d 和 %d的最大公约数是%d' %(num1,num2,最大公约数))
最小公倍数 = (num1 * num2) / 最大公约数
print('%d 和 %d的最小公倍数是%d' %(num1,num2,最小公倍数))
运行演示:
[kiosk@foundation47 day 02]$ python3 2.1.py
请输入第一个数: 8
请输入第二个数: 6
8 和 6的最大公约数是2
8 和 6的最小公倍数是24
5 while 循环语句
1 格式:
while 条件满足:
满足条件执行的语句
else:
不满足条件执行的语句
** 2 while 死循环 :**
只要满足 while的条件永远为真,就会进入无限循环
例如:
while True:
print('一直循环')
3 while嵌套
\t :在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐
\n:在控制台输出一个换行符
\:转译 ,将特殊字符转译成普通字符
练习:99乘法表
第一种:
cro = 1
while cro <= 9:
col = 1
while col <=cro:
print('%d * %d = %d\t' %(cro,col,cro*col),end='')
col += 1
print('')
cro += 1
运行演示 :
[kiosk@foundation47 day 02]$ python3 2.20.py
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
第二种 :
cro = 9
while cro > 0 :
col = cro
while col > 0 :
print('%d*%d=%d\t' %(cro,col,cro*col),end='')
col -=1
print('')
cro -=1
效果演示:
[kiosk@foundation47 day 02]$ python3 2.2.py
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9
8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8
7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7
6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6
5*5=25 5*4=20 5*3=15 5*2=10 5*1=5
4*4=16 4*3=12 4*2=8 4*1=4
3*3=9 3*2=6 3*1=3
2*2=4 2*1=2
1*1=1
第三种 :
cro = 9
while cro > 0 :
col = 9
while col > 0 :
if col > cro :
print(' \t' ,end='')
else:
print('%d*%d=%d\t' %(cro,col,cro*col),end='')
col -=1
print('')
cro -=1
效果演示:
[kiosk@foundation47 day 02]$ python3 2.3.py
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9
8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8
7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7
6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6
5*5=25 5*4=20 5*3=15 5*2=10 5*1=5
4*4=16 4*3=12 4*2=8 4*1=4
3*3=9 3*2=6 3*1=3
2*2=4 2*1=2
1*1=1
第四种 :
cro = 1
while cro <= 9 :
col = 9
while col > 0 :
if cro < col :
print(' \t' ,end='')
else:
print('%d*%d=%d\t' %(cro,col,cro*col),end='')
col -=1
print('')
cro +=1
效果演示:
[kiosk@foundation47 day 02]$ python3 2.4.py
1*1=1
2*2=4 2*1=2
3*3=9 3*2=6 3*1=3
4*4=16 4*3=12 4*2=8 4*1=4
5*5=25 5*4=20 5*3=15 5*2=10 5*1=5
6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6
7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7
8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8
9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9