理解Python布尔值原理,给自己做一个美食推荐器

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

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

​用数据做判断:布尔值

计算机的逻辑判断,只有两种结果,就是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退出

总结图

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

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

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

name = input('请输入小数先生的公众号:')

if name == '数仁信息':

    print('实在是太聪明了')

else:

    print('已经很接近了加油')

输出

请输入小数先生的公众号:数仁信息 #手动输入

实在是太聪明了

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

数据真假的判断

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

if 1:

  print('hello,1')

if 0:

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

输出

hello,1

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

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

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

not的计算逻辑

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

作者丨小数先生

来源丨公众号数仁信息

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容