weixin_45557797
七夕月下凉
2021-05-28 15:54
采纳率: 33.3%
浏览 13

在while 循环中调用Ji_Fu()函数后面为什么加了一个[0]

这是集齐五福的一段python代码 只要按一下回车就可以得到随机其中一个福字并计算福字的数量,直到集齐为止。 

# 导入随机模块
import  random
# 获取福卡方法
def Ji_Fu():
    # 所有福卡列表
    fus=['爱国福','富强福','和谐福','友善福','敬业福']
    # 获取列表中的一项组成新的列表
    fu=random.sample(fus, 1)
    # 返回获取到的福卡
    return fu
# 打印当前拥有的所有福卡 方法
def fus(fu):
    print('当前拥有的福:')
    # 循环福卡字典
    for i, j in fu.items():
        # 打印福卡
        print(i,': ',j,'\t',end='')
# 判断五福是否集齐方法 集齐返回1
def five_blessings(fu):
    # 拥于判断是否集齐的标识 1代表集齐
    type=1
    # 循环 福卡字典 判断副卡是否集齐
    for i, j in fu.items():
        # 当有副卡是0张的时候不能合成五福
        if j==0:
          #不能集成五福的时候返回0
          type=0
    # 返回 判断是否集齐标识
    return type;

print('开始集福啦~~~')
# 五福字典 保存拥有的五福数据
fu={'爱国福':0,'富强福':0,'和谐福':0,'友善福':0,'敬业福':0}
# 判断是否集齐五福
while  five_blessings(fu)==0:
    # 没有集齐五福提示用户
    input('\n按下<Enter>键获取五福')
    # 获取福卡
    Strfu=Ji_Fu()[0]
    # 提示用户获取的的五福卡
    print('获取到:' +Strfu)
    # 在五福字典中 为获取到的福卡加1
    fu[Strfu] += 1
    # 打印拥有的福卡
    fus(fu)
print('\n恭喜您集成五福!!!')
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • u010280923
    Alexxinlu 2021-05-28 20:36
    已采纳

    因为Ji_Fu函数的返回值是个fu是list类型的。具体来说,fu的结果是由random.sample(fus, 1)这个函数返回的,是一个包含一个元素的list,所以为了得到list中的那个元素值,需要用下标运算符[0]取出来

    点赞 1 评论

相关推荐