当前位置:首页 / 文章测试 / 点餐机器人

点餐机器人

开始打字练习

import random

import jieba

class Robot():

def __init__(self, name):

print('*' * 18 + '启动成功' + '*' * 18)

self.name = name

self.say_hi = ['你好', 'Hi', 'Hello', 'hi', 'hello', '好久不见']

self.say_bye = ['再见', 'Bye', 'bye', 'Bye-bye', 'Byebye', '再会', '回见', '88', '下次见']

def chat(self):

flag = False

while True:

msg = input('你说:')

jieba.load_userdict('words_dict.txt')

words = jieba.lcut(msg)

for word in words:

if word in self.say_hi:

print('{}说:{}'.format(self.name, random.choice(self.say_hi)))

break

elif word in self.say_bye:

print('{}说:{}'.format(self.name, random.choice(self.say_bye)))

flag = True

break

else:

print('{}说:我听不懂'.format(self.name))

if flag:

break

class DianCan(Robot): ##自定义点餐机器人类,继承机器人类

def __init__(self,name): #构造方法

Robot.__init__(self,name) #继承父类Robot所有属性

self.cai = {'面条':15,'果盘':22,'饺子':18,'宫保鸡丁':33} #新增属性菜品

self.choice = [] #新增属性已选择菜品

def serve(self): #定义点餐实例方法

flag = False

print('顾客您好!{}为您提供点餐服务'.format(self.name))

while True:

msg = input('你说:')

jieba.load_userdict('words_dict.txt')

words = jieba.lcut(msg)

for word in words:

if word in self.cai: #如果输入的词中有菜单中的菜名

self.choice.append(word) #将菜名加到已经选择的菜单中

print('马上为您准备{}稍等'.format(word)) #提示马上准备xx

break

elif word in self.say_bye:

print('{}说:祝您用餐愉快'.format(self.name)) #说再见相关的话回复用餐愉快

flag = True

break

else:

print('{}说:我听不懂'.format(self.name))

if flag:

break

def jisuan(self): #定义计算实例方法

money = 0 #设置价格伟0

for i in self.choice: #遍历选择菜品的列表

money = money+self.cai[i] #将对应菜品的价格加起来

print('{}说:您一共消费{}元'.format(self.name,money))

can = DianCan('点餐机器人') #实例化点餐机器人对象can,传入name参数-点餐机器人

can.serve() #对象can调用serve点餐方法

print(can.choice) #打印选择的菜品

can.jisuan() #对象can调用jisuan计算方法结账

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。