练习介绍
练习目标
我们会通过今天的作业,用代码解决生活中实际的一种需求:选择困难,需要帮忙。
练习要求
现今社会,每个人每天的生活都充满了各种各样的选择,导致许多人在选择面前纠结万分。
甚至,有不少人将“早饭吃什么?午饭吃什么?晚饭吃什么?”戏称为人生中的三大难题。
所以,我们今天的练习就会以“不知道吃什么”为例,让电脑来帮我们选,而我们只要做决策就好。
电脑推荐我们吃某种菜,我们拒绝后,它就继续推荐,直到我们满意为止。
根据生活经验,明确产品需求
为了让产品更好用,我们可以先分析一下问题,将产品需求(即功能)明确一下。
得出产品的三个功能:判断,随机推荐,特定选项中的随机推荐。
形成技术方案
明确了需求之后,我们就可以运用学过的知识来定技术方案,可得:
判断: 判断语句+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('抱歉,目前还不支持第三种情况——不过,你可以加代码哦。')