Python人工智能

Python人工智能

运行robin老师的python人工智能第五课报错,请问是什么问题

回复

flexy 发起了问题 1 人关注 0 个回复 1850 次浏览 2019-12-03 09:57 来自相关话题

scikit-leang 安装问题

回复

阿兰巴丢 发起了问题 1 人关注 0 个回复 1385 次浏览 2019-07-19 20:25 来自相关话题

import导入包报错问题

回复

Franlla 发起了问题 1 人关注 0 个回复 1454 次浏览 2019-03-27 19:15 来自相关话题

想麻烦问下有同学遇到这个问题过吗?ModuleNotFoundError: No module named 'ml_visualization'已经用了homebrew下载了

Freya2pv 回复了问题 3 人关注 2 个回复 3185 次浏览 2019-02-19 13:24 来自相关话题

朴素贝叶斯实践生成图片不全

回复

AbaddonFlame 发起了问题 1 人关注 0 个回复 1273 次浏览 2018-12-22 11:08 来自相关话题

第六课OpenCV 执行报错

回复

happy520 发起了问题 1 人关注 0 个回复 1272 次浏览 2018-12-05 16:32 来自相关话题

图像处理直方图显示问题

回复

happy520 回复了问题 1 人关注 1 个回复 1485 次浏览 2018-12-04 15:25 来自相关话题

pycharm中执行nltk.download()报错,但是nltk已经安装了,在cmd中执行也没有问题

回复

杨柳依依 发起了问题 1 人关注 0 个回复 3387 次浏览 2018-11-11 10:06 来自相关话题

以下是python实现拉格朗日插值的代码,为什么结果是负数呢?是我代码写错了吗?请老师指点迷津

娘口三三 回复了问题 2 人关注 1 个回复 3195 次浏览 2018-11-04 12:58 来自相关话题

Keras : InternalError: GPU sync failed

回复

sunnyGrace 发起了问题 1 人关注 0 个回复 9400 次浏览 2018-10-19 19:17 来自相关话题

Python Anaconda3里面没有envoy?

fish 回复了问题 2 人关注 1 个回复 1483 次浏览 2018-10-09 09:17 来自相关话题

请问这个图片的代码实现有人知道链接么

回复

缘媛 发起了问题 1 人关注 0 个回复 1487 次浏览 2018-09-13 14:43 来自相关话题

请问多分类模型评价指标的选择

a1240663993 回复了问题 2 人关注 1 个回复 3326 次浏览 2018-07-05 06:05 来自相关话题

关于numpy中数据按列读取后的shape

fish 回复了问题 1 人关注 1 个回复 1374 次浏览 2018-06-19 13:53 来自相关话题

比特币预测案例的预测曲线是滞后于现实一天的 感觉没有意义啊

回复

逸翮拂霄 发起了问题 1 人关注 0 个回复 1253 次浏览 2018-05-14 20:56 来自相关话题

第二课 无人便利店

回复

Straw888 发起了问题 1 人关注 0 个回复 1285 次浏览 2018-04-28 11:12 来自相关话题

运行robin老师的python人工智能第五课报错,请问是什么问题

回复

flexy 发起了问题 1 人关注 0 个回复 1850 次浏览 2019-12-03 09:57 来自相关话题

scikit-leang 安装问题

回复

阿兰巴丢 发起了问题 1 人关注 0 个回复 1385 次浏览 2019-07-19 20:25 来自相关话题

import导入包报错问题

回复

Franlla 发起了问题 1 人关注 0 个回复 1454 次浏览 2019-03-27 19:15 来自相关话题

朴素贝叶斯实践生成图片不全

回复

AbaddonFlame 发起了问题 1 人关注 0 个回复 1273 次浏览 2018-12-22 11:08 来自相关话题

第六课OpenCV 执行报错

回复

happy520 发起了问题 1 人关注 0 个回复 1272 次浏览 2018-12-05 16:32 来自相关话题

图像处理直方图显示问题

回复

happy520 回复了问题 1 人关注 1 个回复 1485 次浏览 2018-12-04 15:25 来自相关话题

pycharm中执行nltk.download()报错,但是nltk已经安装了,在cmd中执行也没有问题

回复

杨柳依依 发起了问题 1 人关注 0 个回复 3387 次浏览 2018-11-11 10:06 来自相关话题

Keras : InternalError: GPU sync failed

回复

sunnyGrace 发起了问题 1 人关注 0 个回复 9400 次浏览 2018-10-19 19:17 来自相关话题

Python Anaconda3里面没有envoy?

回复

fish 回复了问题 2 人关注 1 个回复 1483 次浏览 2018-10-09 09:17 来自相关话题

请问这个图片的代码实现有人知道链接么

回复

缘媛 发起了问题 1 人关注 0 个回复 1487 次浏览 2018-09-13 14:43 来自相关话题

请问多分类模型评价指标的选择

回复

a1240663993 回复了问题 2 人关注 1 个回复 3326 次浏览 2018-07-05 06:05 来自相关话题

关于numpy中数据按列读取后的shape

回复

fish 回复了问题 1 人关注 1 个回复 1374 次浏览 2018-06-19 13:53 来自相关话题

比特币预测案例的预测曲线是滞后于现实一天的 感觉没有意义啊

回复

逸翮拂霄 发起了问题 1 人关注 0 个回复 1253 次浏览 2018-05-14 20:56 来自相关话题

第二课 无人便利店

回复

Straw888 发起了问题 1 人关注 0 个回复 1285 次浏览 2018-04-28 11:12 来自相关话题

#奶茶作业#第四、第五次作业

舞枫b8e 发表了文章 0 个评论 692 次浏览 2018-04-22 21:39 来自相关话题

根据要求完成后,添加了日志管理,以及奶茶推荐,奶茶推荐做的比较粗糙,是分析所有已经购买的客户后,根据最喜欢这个奶茶的所有客户第二喜欢的奶茶来进行推荐,感觉不用dataframe和SQL操作起来还是很费劲,谢谢。(源码太长了超限制了,放有道了)   ...查看全部
根据要求完成后,添加了日志管理,以及奶茶推荐,奶茶推荐做的比较粗糙,是分析所有已经购买的客户后,根据最喜欢这个奶茶的所有客户第二喜欢的奶茶来进行推荐,感觉不用dataframe和SQL操作起来还是很费劲,谢谢。(源码太长了超限制了,放有道了)
 
'''
奶茶店
第四次作业修改
'''
 
import csv
import time
import os
 
 
#欢迎语
welcomeWord = '小象奶茶店馆售卖宇宙无敌奶茶,奶茶虽好可不要贪杯哦!每次限尝鲜一种口味:'
naichaWord = '1.原味奶茶 3元 2.香蕉奶茶 5元 3.草莓奶茶 5元 4.香芋奶茶 7元 5.珍珠冰奶茶 7元'
sorryWord1 = 'Woops!我们只售卖以上'
sorryWord2 = '种奶茶口味哦!新口味敬请期待!'
naicha = {'1':'原味奶茶','2':'香蕉奶茶','3':'草莓奶茶','4':'香芋奶茶','5':'珍珠冰奶茶'}
naichaCost = {'1':3,'2':5,'3':5,'4':7,'5':7}
f_log_user='user_log.csv'
f_info_user='infoUsers.csv'
f_log_recome = 'log_recome.csv'
f_like_user='like_users.csv'
#print(len(naicha))
 
#设置会员 会员文件名称为 infoUsers.csv
members =
membersLog =
mphone = {}
 
class Users:
id=None
phone=None
birthday=None
sex=None
constellation=None
adress=None
with open(f_info_user,'a',encoding='utf-8') as info_file:
pass
#log=None 思考后觉得奶茶日志放在users类里以后不好维护
 
#判断是否为存在用户
def is_user(self,id):
with open('infoUsers.csv','r',encoding='utf-8') as info_file:
reader = csv.reader(info_file)
for row in reader:
if row[0]==id:
return True
return False
#获取用户文件行数
def get_infoUser_line(self):
with open(f_info_user,'r',encoding='utf-8') as info_files:
reader=csv.reader(info_files)
i = 0
for row in reader:
i += 1
print(i)
return i
#写入属性
def put_info(self,id,phone,birthday,sex,constellation,adress):
self.id=id
self.phone=phone
self.birthday=birthday
self.sex=sex
self.constellation=constellation
self.adress=adress
#将属性写入文件
def write_info(self):
header = ['id', 'phone', 'birthday', 'sex', 'constellation', 'adress']
with open (f_info_user, 'a', newline='', encoding='utf-8') as info_file:
writer = csv.DictWriter (info_file, header)
#writer.writeheader ()
writer.writerow (
{'id': self.id, 'phone': self.phone, 'birthday': self.birthday, 'sex': self.sex, 'constellation': self.constellation,
'adress': self.adress})
#读取use对象数值
def get_info(self):
return {'id':self.id,'phone':self.phone,'birthday':self.birthday,'sex':self.sex,'constellation':self.constellation,'adress':self.adress}
# def get_naichalog(self,):
# pass
 
#日志类,记录正常日志和每个奶茶的的购买情况
#daytime->日期,daylog->列表,就是每次的购买情况
class NaichaLog:
#判断日志名称
strtime=time.strftime('%Y%m%d',time.localtime())
log_file_name='naicha_log_'+strtime+'.csv'
#用户日志
user_log_name=f_log_user
#判断日志是否存在后,创建日志
if os.path.exists(log_file_name):
pass
else:
header=['id','time']
for key in naicha.keys():
header.append(key)
with open(log_file_name,'w',encoding='utf-8') as log_file:
writer=csv.writer(log_file)
writer.writerow(header)
if os.path.exists(user_log_name):
pass
else:
header=['id']
for key in naicha.keys():
header.append(key)
with open (log_file_name, 'w', encoding='utf-8') as log_file:
writer = csv.writer (log_file)
writer.writerow(header)
 
#print(log_file_name)
#写入每日日志
def writeDayLog(self, userid, daylog):
with open(self.log_file_name,'a',encoding='utf-8') as log_file:
writer=csv.writer(log_file)
naichaList=[userid,time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())]
for key in naicha.keys():
naichaList.append(daylog.setdefault(key,0))
writer.writerow(naichaList)
#写入用户购买日志
def writeUserLog(self,userid,naichalog):
with open(self.user_log_name,'a',encoding='utf-8') as log_file:
#reader=csv.reader(log_file)
writer=csv.writer(log_file)
newrow=[userid]
for key in naicha.keys():
newrow.append(naichalog[key])
print(newrow)
writer.writerow(newrow)
#newrow2 = [userid]
# for key in naicha.keys ():
# newrow2.append(naichalog.setdefault(key, 0))
# writer.writerow(newrow2)
 
#读取每日日志
def readDayLog(self,daytime):
pass
#读取用户购买日志
def readUserLog(self,userid):
pass
 
#推荐函数,在顾客购买之前推荐顾客经常买的奶茶,在顾客购买之后,推荐口味相似的客户购买的奶茶
#每日购物流水为 daylog_2018XXXX.csv
#顾客购买奶茶具体数据文件名称 logUsers.csv
#在关店后调用,根据后台信息计算口味相似顾客可能购买的1种奶茶
#先找出用户购买数量最多和第二多的奶茶,然后将每种奶茶买的最多的用户进行汇总,找出除了他们买的占比数量最多的第二多的奶茶,并再下次购买时推荐给客户
#将数据库中的每种奶茶购买最多的用户数据取出,将数据中除了此种奶茶的其他奶茶的按照一个客户一分计分,
# 计分后,分值除以用户总数,得出一个百分数,取出前两位数值,若数值高于80%,则给予用户推荐。
#计算顾客最喜欢的奶茶
def getUsersFisrstNaicha():
print('开始计算推荐...')
 
#writefilename = time.strftime ('log_recome_%Y%m%d.csv', time.localtime ())
 
writefile = open (f_log_recome, 'w', encoding='utf-8')
writer = csv.writer (writefile)
infofile = open (f_info_user, 'r', encoding='utf-8')
inreader = csv.reader (infofile)
recomelist =
 
for row in inreader:
new = [row[0], 0, 0, 0, 0, 0]
logfile = open (f_log_user, 'r', encoding='utf-8')
freader = csv.reader (logfile)
for row2 in freader:
if row2[0] == row[0]:
i = 1
while i < len (new):
new[i] = new[i] + int(row2[i])
i+=1
new2=new[1:len(new)]
i=0
j=0
while i < len(new2):
if max(new2)==new2[i]:
maxitem=i+1
new3=new2
new3.remove(new2[i])
while j < len(new2):
if max(new3)==new2[j] and j!=i :
maxitem2=j+1
break
j+=1
break
i+=1
#new2.sort()
# print(new2)
new.append(str(maxitem))
new.append(str(maxitem2))
recomelist.append(new)
logfile.close()
writer.writerows (recomelist)
writefile.close()
infofile.close()
print('计算完毕')
 
 
def showUsersRecomNaicha():
allRecome={}
for key in naicha.keys():
showUserLike = {'1':0,'2':0,'3':0,'4':0,'5':0}#.................妥协= =
logfile = open (f_log_recome, 'r', encoding='utf-8')
reader = csv.reader (logfile)
for row in reader:
if row[len(naicha)+1]==key :
showUserLike[row[len(naicha)+2]]+=1
maxkeyTuple=max(zip(showUserLike.values(),showUserLike.keys()))
maxkey=maxkeyTuple[1]
allRecome[key]=maxkey
logfile.close
with open(f_like_user,'w',encoding='utf-8') as likefile:
writer=csv.DictWriter(likefile,naicha.keys())
writer.writeheader()
writer.writerow(allRecome)
 
def getUserMostBuy(userid):
with open(f_log_recome,'r') as logfile:
reader=csv.reader(logfile)
for row in reader:
if row[0]==userid:
return row[len(naicha)+1]
 
#给客户推荐其他口味的奶茶
def getUsersRecomNaicha(key):
with open(f_like_user,'r') as likefile:
reader=csv.reader(likefile)
header=next(reader)
value=next(reader)
return value[int(key)-1]
 
#购物信息
costPerson =
costAllLog =
 
#设置固定客户数
costerNo = 2
fmemberNo = 37000
 
#设置购物函数
def shopping(member):
buyNo = input ('请输入购买序号:')
 
if buyNo not in naicha:
print (sorryWord1 + '{}'.format (len (naicha.keys ())) + sorryWord2)
else:
buyNumber = int (input ('请输入购买数量:'))
return [member,buyNo,buyNumber]
 
#设置输出购物结果函数
def shoppingPrint(member,shRecord,isnew):
allCost=0
if isnew:
sale=1
else:
sale=0.9
for key in shRecord.keys():
#print(shRecord[key])
#print(type(shRecord[key]))
#print(naichaCost)
allCost=naichaCost[key]*shRecord[key]
allCost*=sale
print('您本次购物购买了:')
for key in shRecord.keys():
print(' {} {}件'.format(naicha[key],shRecord[key]))
print('本次您总共消费了{}元,欢迎您的下次光临!'.format(allCost))
 
#设置购物详情记录函数
def shoppingLog(member,shRecord):
log=
log.append(member)
log.append(shRecord)
return log
 
 
#主程序开始
 
print(welcomeWord)
print(naichaWord)
 
while costerNo>0:
isnew=True
user =Users()
logs=NaichaLog()
 
now = input('\n 请输入会员号(没有会员号请输入 N):')
if now=='N' :
now = str(fmemberNo+user.get_infoUser_line())
print('您的会员号是:{}'.format(now))
phone = input('请输入您的手机号:')
user.put_info(now,phone,'','','','')
user.write_info()
else:
#print(members)
if user.is_user(now):
isnew = False
print ('Welcome {}'.format (now))
else:
isExist = input ('系统里没有此会员号,重新输入请输 Y ,系统分配请输 任意值: ')
if now == 'Y':
now = input ('请输入重新输入会员号:')
else:
now = str (fmemberNo + user.get_infoUser_line ())
print ('您的会员号是:{}'.format (now))
phone = input ('请输入您的手机号:')
user.put_info (now, phone, '', '', '', '')
user.write_info ()
# print(naicha.keys())
 
 
#开始购物
isQuit='i'
# 输出推荐购买
mostbuy = getUserMostBuy (now)
print ('小象记得您最喜欢的奶茶是 {} 哦~也推荐您尝试 {} ,偶尔换换新口味~'.format (naicha[mostbuy], naicha[getUsersRecomNaicha (mostbuy)]))
 
shoppingPersonRecord={}
while isQuit !='q':
naichaNow=shopping(now)
if naichaNow[1] in shoppingPersonRecord:
shoppingPersonRecord[naichaNow[1]]+=int(naichaNow[2])
else:
shoppingPersonRecord[naichaNow[1]]=int(naichaNow[2])
isQuit=input('是否继续购物?(继续 c/退出 q)')
 
#print(shoppingPersonRecord)
 
#输出购买
shoppingPrint(now,shoppingPersonRecord,isnew)
logs.writeDayLog(now,shoppingPersonRecord)
logs.writeUserLog(now,shoppingPersonRecord)
 
costPerson=(shoppingLog(now,shoppingPersonRecord))
costAllLog.append(costPerson)
costerNo -= 1
 
print('今日已闭店,欢迎您明天光临!')
#重新计算推荐算法,并生成日志
getUsersFisrstNaicha()
showUsersRecomNaicha()
#结账后输出交易明细
isMaster =input('进入贤者模式,请输入密码:')
while isMaster!='whoisyourdady':
isMaster=input('输入密码错误请重新输入:')
print(costAllLog)
 
 
 

第一章节:基础语法 课后作业

Mr.King 发表了文章 0 个评论 669 次浏览 2018-04-17 23:13 来自相关话题

lis=""" ***********************************************     请输入您想购买的奶茶:         1:原味冰奶茶  3元         2: ...查看全部
lis="""
***********************************************
    请输入您想购买的奶茶:
        1:原味冰奶茶  3元
        2:香蕉冰奶茶  5元
        3:草莓病奶茶  4元
        4:香草冰奶茶  7元
        5:珍珠冰奶茶  7元
***********************************************
    您是否是我店会员?会员享有9折优惠!
        T:是会员。
        F:不是会员。
        注:不区分大小写!
***********************************************
"""
dic = {'1':['原味冰奶茶',3],'2':['香蕉冰奶茶',5],'3':['草莓病奶茶',4],'4':['香草冰奶茶',7],'5':['珍珠冰奶茶',7]}
ty = ('1','2','3','4','5')
huiyuan = {'y':['是',0.9],'n':['否',1.0]}


name = input(lis)
if name in ty:
    num = int(input('请输入您想购买的数量:'))
    hy = input('会员?').lower()
    if hy=='y':
        zjia = dic[name][1]*num*0.9
    else:
        zjia = dic[name][1]*num
    print("*"*100)
    print('%5s %8s s s s %21s'%('类别','单价','数量','会员','折扣','总价'))
    print()
    print('%s %5s d s %21.1f %25.2f'%(dic[name][0],dic[name][1],num,huiyuan[hy][0],huiyuan[hy][1],zjia))
    print("*"*100)
else:
    print('Woops!我们只售卖以上五种奶茶哦,新口味敬请期待!')

#奶茶店#第三次作业(⊙﹏⊙)b

舞枫b8e 发表了文章 0 个评论 794 次浏览 2018-04-12 11:02 来自相关话题

等看看讲解再修改一下,做的时候感觉题目理解偏了(⊙﹏⊙)b

1523502045314.png

1523502076824.png

1523502109721.png

等看看讲解再修改一下,做的时候感觉题目理解偏了(⊙﹏⊙)b

一行Python 打印沙漏

刘钰 发表了文章 2 个评论 1117 次浏览 2018-04-05 01:56 来自相关话题

(臭显摆一下) print("\n".join(list(map(lambda x:" "*x+"*"*(7-2*x),range(3)))+list(map(lambda x:" "*(7-x)+"*"*(7-2*(7-x)),ra ...查看全部
(臭显摆一下)

print("\n".join(list(map(lambda x:" "*x+"*"*(7-2*x),range(3)))+list(map(lambda x:" "*(7-x)+"*"*(7-2*(7-x)),range(4,8)))))