第18课后练习 01-拯救选择困难症

练习介绍

练习目标

我们会通过今天的作业,用代码解决生活中实际的一种需求:选择困难,需要帮忙。

练习要求

现今社会,每个人每天的生活都充满了各种各样的选择,导致许多人在选择面前纠结万分。

甚至,有不少人将“早饭吃什么?午饭吃什么?晚饭吃什么?”戏称为人生中的三大难题。

所以,我们今天的练习就会以“不知道吃什么”为例,让电脑来帮我们选,而我们只要做决策就好。

电脑推荐我们吃某种菜,我们拒绝后,它就继续推荐,直到我们满意为止。

根据生活经验,明确产品需求

为了让产品更好用,我们可以先分析一下问题,将产品需求(即功能)明确一下。

得出产品的三个功能:判断,随机推荐,特定选项中的随机推荐。

形成技术方案

明确了需求之后,我们就可以运用学过的知识来定技术方案,可得:

判断: 判断语句+input

随机推荐:random模块+循环+判断

特定选项的随机选项:列表添加+random模块+循环+判断 

完成程序代码

请你独立在完成这个可称为“帮你做选择”的产品。
对了,你可以用今天学到的流程图帮自己梳理思路。
第一遍写代码时,可先不考虑函数或类,先让代码跑起来吧。
当然,写完之后。如果你发现有哪些可以优化的,也可大胆尝试。

# 请独立完成这个产品吧,我相信你可以的!
import random
choice1 = ['烧鸭','培根三明治','农家一碗香','叉烧拼腊肠','干锅羊肉','红烧羊腿']
choice2 = ['白切鸡','葱油鸡','香辣鸡翅','叫花鸡']
choice3 = ['黑珍珠大圣代','布丁奶茶','奶酪奶茶']
list = [choice1,choice2,choice3]
print('以下是弟弟的食谱,你看一下哪些是你想吃的')
while True:
    a = random.choice(list)
    print(a)
    sentence = input('你看这一栏是你喜欢吃的吗')
    if sentence == '是':
        break

for i in a :
    print(i)
b= int(input('你想要第几种啊'))
print(a[b-1]) 

 参考代码

这次的参考代码,真的是参考代码。你可以将列表中的菜品都换成你喜欢吃的食物。
假如你面对一些做什么选择其实差别不大但还是会纠结的情况,不妨用代码来辅助决策。
可能,看到电脑随机给出的某些决定时,你的心里会冒出“就是它了”或“绝对不要”的想法。
所以,说到底,编程知识和产品思维,是辅助我们工作生活的工具。
好比一个简单的随机选择,可能就让你看清了自己的真实想法。
希望你也能根据自己的需要,为自己定制出一些产品。

# 帮你做选择之我要吃什么
import random

# 将需要用到的表格和变量放在开头
list_food = ['KFC', '蒸菜馆', '楼下快餐店', '桂林米粉', '东北饺子', '金牌猪脚饭', '三及第汤饭']  # 备选菜单,可自定义。
list_choice = []

# 由于两个原因都包含判断过程,所以,为了让代码更简洁,可将其封装成函数。
def choose(list):
    while True:
        food = random.choice(list)
        judgement = input('去吃【%s】好不好啊?同意的话输入y,不想吃直接回车即可。'%(food))
        if judgement == 'y':
            print('去吃【%s】!就这么愉快地决定啦!'%(food))
            break

# 判断环节
reason = int(input('你不知道吃什么的原因是:1.完全不知道吃什么;2.在几家店之间徘徊(请输入1或2):'))
if reason == 1:
    choose(list_food)
elif reason == 2:
    add = True
    while add:
        choice = input('请输入让你犹豫的店名(注:一家一家输,完成后输入y):')
        if choice != 'y':  # 这个判断语句,是为了不将 y 也添加到菜单里。
            list_choice.append(choice)
        if choice == 'y':
            add = False
    choose(list_choice)
else:
    print('抱歉,目前还不支持第三种情况——不过,你可以加代码哦。')

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值