文章目录
if条件语句
基本书写方法:
if单独使用
if condition: ##条件判断
success thing ##条件成立时做的事情
... ## 可以多个任务
注意:条件语句后必须加冒号!
演示1:当年龄大于18岁时,输出success,否则不输出任何东西。 在判断结束后输出- - - - - - - - -
age = 15
if(int(age)>=18):
print('success') ##if 语句影响if语句内的输出
print('-----------') ## 不影响语句外的输出
运行结果为:
如果第二个print和if语句内的print缩进一致,则if语句就会影响其输出:
age = 15
if(int(age)>=18):
print('success')
print('-----------')
运行结果:
可见,缩进量在python中还是非常重要的!
if~else合用
使用方法:
if 条件判断
条件满足时做的事情
else
条件不满足时做的事情
演示2:
进行年龄判断,如果年龄大于等于18岁,输出success!否则输出failed!
age = 14
if age <= 18:
print('Failed!')
else:
print('Success!')
运行结果:
修改年龄为20,运行结果:
if ~ elif~else连用:多条件判断
if 条件1:
条件1满足时需要做的事情
elif 条件2:
条件2满足时需要做的事情
elif 条件3:
条件3满足时需要做的事情
...
...
else :
所有条件都不满足时需要做的事情。
注意:if可单独使用,但是else 和 elif不能单独使用!
演示:
输入的数在0~10时,输出0,输入的数在10 ~ 20时,输出1;
输入的数在20 ~ 30时,输出2,输入的数在30 ~ 40 时,输出3.否则输出:nonum
num=int(input('num='))
if num >= 1 and num < 10:
print('0')
elif num >= 10 and num < 20:
print('1')
elif num >= 20 and num < 30:
print('2')
elif num >= 30 and num < 40:
print('3')
else:
print('no num')
运行结果:
if的嵌套使用
if 条件1:
if 条件2:
条件1满足的基础上条件2满足需要做的事情
else:
条件1满足,条件2不满足需要做的事情
else:
条件1不满足时需要做的事情
演示:
学校是学生生活和学习的地方,在疫情期间,学生只能进入校园。学生进入图书馆学习时,必须刷学生卡方能进入图书馆,否则不能进入图书馆:
student = 'yes'
card = 'yes'
if student == 'yes':
if card == 'yes':
print('you can enter the library')
else:
print('you can not enter the library')
else:
print('you can not enter school')
运行结果:
当student=yes,card=no 时,运行结果:
当student=no时,运行结果:
演示2:
随机数的输出: 在python中,要使用随机数,首先要导入随机数模块(类似于工具包)。导入模块后,可以直接在模块名称后敲一个.然后tab键,会提示该模块中可以使用的东西。
random.randint(a,b)为返回[a,b]之间的整数,包含a和b
例如:
random.randomint(12,20)生成的随机数n:12<=n<=20
random.randomint(20,20):结果永远时20
random.randomint(20,12):结果报错,下限必须小于上限。
题目:
首先导入随机数工具包:
注意:在导入工具包的时候,应该导入的语句,放在文件的顶部。这样方便下放的代码,在任何需要的时候可以使用工具包中的工具。
import random ##导入随机数工具包
player=int(input('player:'))
computer=random.randint(1,3)
print('computer:%d'%(computer))
if((player==1 and computer==2)or(player==2 and computer==3)or(player==3 and computer==1) ):
print('player win!') ##玩家赢的情况
elif(player == computer):
print('no winner') ##平局的情况
else:
print('computer win!') ## 玩家输的情况
运行结果:
逻辑运算符
and 与逻辑
条件1 and 条件2
当条件1和条件2同时满足时,返回值为True
当条件1或者条件2有一个不满足,或都不满足时,返回值为False
演示:
Math成绩和English成绩同时大于85分,输出pass,否则输出failed
Math = 83
English = 88
if Math > 85 and English > 85:
print('pass')
else:
print('failed')
运行结果:
修改成绩都为90,运行结果:
or 或逻辑
条件1 or 条件2
当条件1或者条件2有一个满足,返回值为True
当条件1和条件2都不满足时,返回值为False
演示:
Math成绩和English成绩有一门大于85分,输出pass,否则输出failed
Math = 75
English = 90
if Math > 85 or English > 85:
print('pass')
else:
print('failed')
运行结果:
系应该成绩都为70,运行结果:
not 非逻辑
演示:
判断用户是否输入,若没有输入,则输出:Please check your input。否则输出:welcome
方法一:
value = input('value:')
if value == '':
print('Please check your input')
else:
print('welcome')
运行:
当value为空:
当value不为空:
方法二:
使用非逻辑进行判断:
value = input('value:')
if not value:
print('Please check your input')
else:
print('welcome')
运行:
当value为空时:
当value不为空时:
for循环语句
for i in range(范围)
i满足时需要做的事情
range()为数组:
例如:
range(5) 值为0~4
range(2,10)值为2~9
range(1,101,2)值为0到100的所有奇数
range(2,101,2)值为0到100的所有偶数
range()的值包含下限不包含上限
演示1:
计算0~100所有数的和:
sum = 0 ##定义加法器
for i in range(0,101):
sum+=i
print(sum)
运行结果:
演示2:
计算0~100间偶数的和
sum = 0
for i in range(2,101,2):
sum+=i
print(sum)
运行结果:
演示3:
计算0~100所有奇数的和
sum = 0
for i in range(1,101,2):
sum+=i
print(sum)
运行结果:
演示4:
要求用户输入一个数,求这个数的阶乘
Num = int(input('Num:'))
mul = 1
for i in range(1,Num):
Num *= i
print(Num)
运行结果:
for的嵌套使用
演示5:
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i != j)and(j != k)and(i != k):
print(i*100+j*10+k)
count += 1
print('Quantity = %d'%count)
运行结果:
演示6:
用户登录程序要求:
1.输入用户名和密码;
2.判断用户名和密码是否正确?(name=‘root’,passwod=‘’westos);
3.为防止暴力破解,登录仅有3次机会,超过三次输入错误,报错提示;
print('you only have three chances to login!')
for i in range(3):
name = input('name:')
password = input('password:')
if name == 'root' and password == 'westos':
print('login success!')
break
else:
print('name or password error!,%d chances left'%(2 - i))
else:
print('Three opportunities have been exhausted,please try again tomorrow!')
运行结果:
演示7:
模拟简单linux命令行:
import os ##导入os模块,可获取主机信息
#cmd = print('[root@workstation Desktop] ')
for i in range(1000):
cmd = input('[root@workstation Desktop]# ')
if cmd:
if cmd == 'q':
print('logout success')
break
else:
print('run %s'%(cmd))
os.system(cmd) ##将输入的cmd传入os模块
else:
continue
运行结果:
不输入任何东西,直接回车:
输入一条简单命令,回车:
输入q退出:
演示8:
break continue exit的区别
break:跳出整个循环,不会再循环后边的内容。
continue:跳出本次循环,continue后面代码不再执行,但循环依然继续。
exit():结束程序的运行。
演示:
break:
for i in range(10):
if i == 5:
break
print(westos)
print(i)
print('hello world')
运行结果:
可以看到,使用break,在满足条件i=5时跳出循环,执行此循环外的语句。
continue:
for i in range(10):
if i == 5:
continue
print(westos)
print(i)
print('hello world')
运行结果:
可以看到,使用continue可以在满足条件i=5的时候跳出循环,但是后边的循环依旧执行。
exit():
for i in range(10):
if i == 5:
exit()
print(westos)
print(i)
print('hello world')
运行结果:
可以看到,使用exit()在满足条件i=5时直接结束程序的运行。
while循环语句
whlie 条件
条件满足时,做的事情1
条件满足时,做的事情2
演示1:
打印5次hello world:
i = 1
while i<= 5:
print('hello world')
i += 1
运行结果:
演示2:
死循环:
while True:
print('hello world')
演示3:
计算:0~100所有数字的累加求和:
python中的计数方法:常见的计数方法有两种,可以分为
自然技术法:(从1开始)----更符合人类习惯
程序计数法:(从0开始)-----几乎所有的程序语言都选择从0开始计数。
因此,应养成习惯从0计数开始。
i = 0
result = 0
while i <= 100:
result += i
i += 1
print(result))
运行结果:
演示4:
计算:0~100所有偶数的累加求和:
i = 0
result = 0
while i <= 100:
result += i
i += 2
print(result)
运行结果:
演示5:
用户登录程序要求:
1.输入用户名和密码;
2.判断用户名和密码是否正确?(name=‘root’,passwod=‘’westos);
3.为防止暴力破解,登录仅有3次机会,超过三次输入错误,报错提示;
print('you only have three chances!')
i=0
while i<=2:
name = input('name:')
password = input('password:')
if name == 'root' and password == 'westos':
print('login success!')
break
else:
print('name or password error!')
print('%s chances left' %(2-i))
i += 1
else:
print('Three opportunities have been exhausted,please try tomorrow!')
运行结果:
输入正确的name 和 password:
输入错误的name和password:
while的嵌套使用
演示6:
要求输出如下:
row = 1
while row <= 5:
col = 1
while col <= row:
print('*',end='') ## 不换行输出
col += 1
print('') ##换行
row += 1
运行结果:
演示7:
要求输出如下:
row = 1
while row <= 5:
col = 5
while col >= row:
print('*',end='')
col -= 1
print('')
row += 1
运行结果:
演示8:
import random
i=1
while i <= 5:
user = int(input('user:'))
computer = random.randint(1,100)
print('computer:%d'%computer)
if user < computer:
print('too small')
i += 1
elif user > computer:
print('too big')
i += 1
else:
print('恭喜')
break
运行结果: