返回顶部

看下老师的方法:

  1. provinces = list(capitals.keys())

这里为什么有加list?有什么作用吗?

这里为什么要加list?

  1. print('****************************************')
  2. print('欢迎光临小象奶茶馆!\n小象奶茶馆售卖宇宙无敌奶茶!\n奶茶虽好,可不要贪杯哦!\n每次限尝鲜一种口味:\n1. 原味冰奶茶 3元 \n2. 香蕉冰奶茶 5元 \n3. 草莓冰奶茶 5元 \n4. 蒟蒻冰奶茶 7元 \n5. 珍珠冰奶茶 7元 ')
  3. print('****************************************')
  4. milktea_num = int(input('请选择您要购买的奶茶编号:'))
  5. milktea_quantity = int(input('请输入您要购买的数量:'))
  6. if_vip = input('您是小象奶茶馆的会员吗(y/n)?')
  7. if milktea_num <= 5 and milktea_num >= 1:
  8. if milktea_num == 1:
  9. price = 3
  10. elif milktea_num == 2 or milktea_num == 3:
  11. price = 5
  12. elif milktea_num == 4 or milktea_num == 5:
  13. price = 7
  14. money = price * milktea_quantity
  15. print('您购买的是{}号奶茶,共购买{}杯,总计{}元'.format(milktea_num, milktea_quantity, money))
  16. if if_vip == 'y':
  17. discount = float(input('今天你可以自定义会员折扣,请输入一个0到1之间的数字:'))
  18. if discount >=0 and discount <= 1:
  19. money *= discount
  20. print('您可以享受会员价,折扣为:{}折,折后总价:{}元'.format(discount*10, money))
  21. else:
  22. money *= 0.9
  23. print('您的折扣输入有误,本次消费还按照会员正常折扣9折,折后总价:{}元'.format(money))
  24. elif if_vip == 'n':
  25. print('不好意思哦,您目前还不是我们的会员,\n本次无法享受会员价喽,永远爱你么么哒!')
  26. else:
  27. print('我还是个小宝宝,您的输入我看不懂,您拿着小票问问小象君吧!')
  28. else:
  29. print('Woops!我们只售卖以上五种奶茶哦!新口味敬请期待!')
  30. print('****************************************')
  31. print('做一枚有态度、有思想的奶茶馆(傲娇脸)!\n\t祝您今日购物愉快!\n\t\t诚挚欢迎您再次光临!')
  32. print('****************************************')

为什么结果是4.1999999999999这样?

  1. bool1=df['Med Age']>39
  2. bool2=df['Population']>50000000
  3. df[bool1 & bool2]

bool1=df['Med Age']>39 bool2=df['Population']>50000000 df[bool1 & bool2] 这里如果把& 改成and 会报错,这个是为什么呢

下面我们来练习一下。请将下面的代码抄写到Notebook中相应的单元格中,然后依次运行,观察每个单元格的运行结果。

  1. # DataFrame遍历
  2. #行遍历
  3. for index,data in df.iterrows():
  4. print(index,data[0],data[1],data[2],data[3])
  5. #行遍历tuples
  6. for row in df.itertuples():
  7. print(row)
  8. #---列遍历
  9. for col,data in df.iteritems():
  10. print(col,':',data[1001],data[1002],data[1003],data[1004],data[1005])

为什么列遍历不能向行遍历那样使用编号去索引。 如果把列遍历索引data[1001]改为data[0]会报错

所以,数据的第一行将被拆分为:

[‘1’, ‘赵丽颖’, ‘女’, ‘中国’, ‘汉族’, ‘天秤座’, ‘A型’, ‘165cm’, ‘44.6kg’, ‘河北省廊坊市’, ‘1987年10月16日’, ‘’, ‘花千骨、楚乔传、陆贞传奇、杉杉来了、知否知否应是绿肥红瘦、乘风破浪、西游记女儿国’]

出生年龄后面有一个 ” 号,是什么意思?

所以,数据的第一行将被拆分为:

[‘1’, ‘赵丽颖’, ‘女’, ‘中国’, ‘汉族’, ‘天秤座’, ‘A型’, ‘165cm’, ‘44.6kg’, ‘河北省廊坊市’, ‘1987年10月16日’, ‘’, ‘花千骨、楚乔传、陆贞传奇、杉杉来了、知否知否应是绿肥红瘦、乘风破浪、西游记女儿国’]

出生年龄后面有一个 ” 号,是什么意思?

  1. with open("superstarinfo.txt", "r") as f:
  2. head = f.readlines()
  3. head[0] = head[0].replace("\n","")
  4. head_list = head[0].split(',')
  5. data_dict = {}
  6. for i in head[1:]:
  7. i = i.replace("\n","")
  8. data =i.split(',')
  9. name = data[1]
  10. data_dict[name] = {}
  11. for j in range(2,len(head_list)):
  12. data_dict[name][head_list[j]] = data[j]
  13. def get_sex(my_dict):
  14. sex_dict = {"男": 0, "女": 0}
  15. for star_name in my_dict:
  16. if my_dict[star_name]["性别"] == "男":
  17. sex_dict["男"] += 1
  18. elif my_dict[star_name]["性别"] == "女":
  19. sex_dict["女"] += 1
  20. return sex_dict
  21. sex_dict = get_sex(data_dict) # 调用函数,将返回值赋值于变量 sex_dict
  22. for sex in sex_dict: # 遍历字典的所有键,相当于 for sex in sex_dict.keys(): 省略了.keys()
  23. print("100个最受欢迎的明星中,有{}明星{}个" .format(sex, sex_dict[sex]))

15~24行的代码看不太明白, my_dict、sex_dict、star_name在1~13行中都没有出现过,是怎么和字典data_dict里的键关联起来的?

Hi,欢迎来到小象学院!从今天起,我将带领你进入一个看似神秘但实际上很有趣的领域—人工智能,希望通过本关的学习,你能体会到人工智能的魅力,并对它背后最重要的驱动力—机器学习有一定了解。准备好了吗,让我们开始吧!

人工智能学习的整体思路和框架有吗?

跟NumPy类似,DataFrame中也有索引数组,将DataFrame中的某一列,与一个标量值进行对比计算,就可以得到一个由True、False组成的一维向量(Series)。在以下代码块中,添加代码df['部门'] == '研发部',观察代码执行的结果:

老师,这里我尝试用大于小于等比较运算符也能够得出结果,但是我不大清楚这里的判断依据是什么?

正在加载...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70