python初级算法图解(理解Python布尔值原理)(1)

本文阅读时间大概为5分钟

Hello,小数先生粗线啦~~~今天教大家制作一款美食推荐器

先看下美食推荐器效果(文中最后有美食推荐器代码)

python初级算法图解(理解Python布尔值原理)(2)

上传视频封面

Python制造 —— 美食推荐器

用数据做判断:布尔值

计算机的逻辑判断,只有两种结果,就是True(真)和False(假),计算真假的过程 ,叫做布尔运算。True和False就叫布尔值

print(1>2) print(1<2) print('小数先生'=='小树先生') print('小数先生'!='小树先生') # !=代表不等于

输出

False True False True

注:print()括号内的计算其实就是布尔运算,终端上出现的True和False称为布尔值

只有当条件判断为True时,if和while后面的子句才会 执行下去

if True: print('hello,True') if False: print('hello,False') #判断为假,不会执行子句

输出

hello,True

注:使用while True会陷入无限循环,按ctrl c退出

总结图

python初级算法图解(理解Python布尔值原理)(3)

布尔运算的方式:两个数值做比较

用两个数值作比较的布尔运算

python初级算法图解(理解Python布尔值原理)(4)

注意:==表示相等关系,而=表示给变量赋值

name = input('请输入小数先生的公众号:') if name == '数仁信息': print('实在是太聪明了') else: print('已经很接近了加油')

输出

请输入小数先生的公众号:数仁信息 #手动输入 实在是太聪明了

布尔运算的方式:直接用数值做运算

数据真假的判断

python初级算法图解(理解Python布尔值原理)(5)

注:None代表的是空值,而0是整数,并非什么都没有

if 1: print('hello,1') if 0: print('hello,0') #判断为假,不会执行子句

输出

hello,1

布尔运算的方式:布尔值之间的运算

and的计算逻辑(两个条件都为真时返回True,其余返回Fales)

python初级算法图解(理解Python布尔值原理)(6)

or的计算逻辑(两个条件其中一个为真返回True,全为假时返回False)

python初级算法图解(理解Python布尔值原理)(7)

not的计算逻辑

python初级算法图解(理解Python布尔值原理)(8)

if 1 > 2 and 2 > 1: print('(1>2) and (2>1) is True') #1>2为假,1>2 and 2>1为假 if 1 > 2 or 2 > 1: print('(1>2)or(2>1) is True') if not (1>2): print('not (1>2) is True')

输出

(1>2)or(2>1) is True not (1>2) is True

break语句

break 语句可以跳出 for 和 while 的循环体

例(for循环)

for i in range(5): print(i) if i == 3: break #当i等于3的时候结束循环

输出

0 1 2 3

例(while循环)

while True: answer = input('喜不喜欢Python?') if answer == '喜欢': break #输入喜欢跳出循环

输出

喜不喜欢Python?不喜欢 喜不喜欢Python?不喜欢 喜不喜欢Python?喜欢

continue语句

continue语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环

for i in range(1,5): print('关注数仁信息的第{}天'.format(i)) if i == 3: continue #当i等于3的s时候回到循环开头 print('Moring,小数先生')

输出

关注数仁信息的第1天 Moring,小数先生 关注数仁信息的第2天 Moring,小数先生 关注数仁信息的第3天 关注数仁信息的第4天 Moring,小数先生

pass语句

pass 不做任何事情,一般用做占位语句

for i in range(5): if i == 3: pass # i等于3的时候什么都不做 else: print(i)

输出

0 1 2 4

美食推荐器代码

import time import random foods_list = ['肯德基','麦当劳','汉堡王','达美乐','必胜客', '水饺','酸菜鱼','煲仔饭','过桥米线','杭帮菜', '火锅','冒菜','麻辣烫','麻辣香锅','轻食','木桶饭'] recommend_list = foods_list[:] print('{} 小数先生的美食推荐器 {}'.format('-'*20,'-'*20) '\n') time.sleep(0.5) while True: print(' ') time.sleep(0.5) print('美食推荐,选择当前美食输入y,继续推荐按回车') if len(recommend_list) > 0: recommend_food = random.choice(recommend_list) time.sleep(0.5) choice = input('吃{}怎么样?'.format(recommend_food)) print(' ') time.sleep(0.5) print('-'*60) if choice == 'y': print('那就这么开心的决定了,中午去吃{}'.format(recommend_food)) if recommend_food in ['汉堡王','肯德基','麦当劳','必胜客']: print(r''' _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . ___ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 不会长肉 ''') break else: recommend_list.remove(recommend_food) else: choose_like = input('所有美食已经推荐完,重新推荐输入r,按任意键美食推荐器给出最佳选择:') if choose_like == 'r': recommend_list = foods_list[:] else: print('{}是不错的选择'.format(random.choice(foods_list))) print('-'*60) break

,