Python之条件判断语句详解(if、while、逻辑运算符)
作者:那人如此可好
文章介绍了if语句、逻辑运算符and/or、while语句的使用方法,并通过示例代码展示了if语句的基本结构、嵌套、逻辑运算符的用法以及while语句的基本结构、死循环、嵌套和循环练习
一、if语句
1、if语句基本结构
if 要判断的条件:
条件成立时,要做的事
else:
条件不成立,执行的动作
示例:
Age = int(input('请输入你的年龄:'))
if Age < 18:
print('您没有成年,请回家写作业!')
else:
print('您已成年,欢迎进入本网吧!')
执行效果:


2、if嵌套
(1) if基础语法
if 要判断的条件:
条件成立时,要做的事情
elif 条件2:
...
else:
条件不成立时,要做的时请
elif和else都必须和if联合使用,不能单独使用
示例:
代码:
Holiday_name = input('请输入节日[植树节、情人节、愚人节或者空]:')
if Holiday_name == '植树节':
print('买树苗,种树!')
elif Holiday_name == '情人节':
print('买花、买礼物、买包、买化妆品!!!')
elif Holiday_name == '愚人节':
print('想点子兜开心,吃饭!')
else:
print('不过节!')
执行效果:


(2) if嵌套语法
if 条件1:
条件1满足执行的动作
if 满足条件1的基础上的条件2:
...
else:
条件1满足,条件2不满足的情况下
else:
条件1不满足时,执行的动作
示例:
代码:
Have_ticket = input('您有车票吗?')
if Have_ticket == '有':
print('有车票,请输入您带的刀的长度。')
Knife_lenth = float(input('您带的刀长度?'))
if Knife_lenth > 20:
print('您带的刀长达%.1f了,禁止入内!'%Knife_lenth)
else:
print('您带的刀长度为%.1f,可以入内!'%Knife_lenth)
else:
print('上车前,请先买票!不支持,先上车,再买票!')
执行效果:


二、逻辑运算符
and: 条件1 and 条件2 两个条件同时满足,就返回True 两个条件有一个不满足,就返回False or: 条件1 or 条件2 两个条件只要有一个满足,就返回True 两个条件都不满足,返回False
and示例
Age = int(input('请输入你的年龄:'))
if Age >=0 and Age <=120:
print('年龄正确!')
else:
print('你个糟老头子,坏的很!年龄错误!')
执行效果:


or示例
代码:
Python_score = float(input('请输入你的Python成绩:'))
C_score = float(input('请输入你的C语言成绩:'))
if Python_score < 60 or C_score < 60:
print('好好学习,来年补考')
else:
print('好消息!考试通过!')
执行效果:


三、while语句
1、while基本结构
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
else:
条件不满足时,做的事情
2、while死循环
while True: ##true为真,条件一直满足,print语句一值执行
print('hello python')
3、while嵌套
while 条件1: while 条件2: 条件1、条件2均满足执行的动作。 else: 条件1满足,条件2不满足,执行的动作。 else: 条件2不满足执行的动作。
4、while小练习
1、求1…100的和
Num = 0
Sum = 0
while Num <= 100:
Sum += Num
Num +=1
print("和为%d"%Sum)

2、猜数字游戏
规则:
猜数字游戏 1. 系统随机生成一个1~100的数字; 2. 用户总共有5次猜数字的机会; 3. 如果用户猜测的数字大于系统给出的数字,打印“too big”; 4. 如果用户猜测的数字小于系统给出的数字,打印"too small"; 5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;
代码实现:
import random
Computer_input_num = random.randint(1,100)
Try_count = 5
while Try_count > 0:
User_input_num = int(input('请输入一个你要猜的数字,您还有%d次机会:'%Try_count))
Try_count -= 1
if User_input_num < Computer_input_num:
print('too small')
continue
elif User_input_num > Computer_input_num:
print('too big')
else:
print('恭喜,你猜对了!!!')
break
else:
print('很遗憾,你的机会已经用完了。答案是%d'%Computer_input_num)
执行效果:

3、在控制台连续输出五行*,每行依次递增及递减
期望效果:
递增:
***** **** *** ** *
递减:
* ** *** **** *****
代码实现及执行效果:
递减:
Col = 5
while Col >= 1:
Row = 1
while Row <= Col:
print('*',end='') ##end=''表示打印不换行
Row += 1
print('') ##取消打印不换行
Col -= 1
执行效果:

递增:
代码实现:
row = 1
while row <= 5: # 行数,循环五次
K_col = 1
X_col = 1
while K_col <= 5 - row:
print(' ', end='')
K_col += 1
while X_col <= row:
print('*', end='')
X_col += 1
print()
row += 1
执行效果:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
