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

在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条回答 默认 最新

  • Alexxinlu 2021-05-28 20:36
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥60 关机时蓝屏并显示KMODE_EXCEPTION_NOT_HANDLED,怎么修?
  • ¥66 如何制作支付宝扫码跳转到发红包界面