2301_76239265 2023-07-14 11:11 采纳率: 100%
浏览 13
已结题

Win_l这块只会输出zaijiezaili,result==nmbers这块实现不了,如何解决?(语言-python)

img


Win_l这块只会输出zaijiezaili,result==nmbers这块实现不了

  • 写回答

1条回答 默认 最新

  • 梦幻精灵_cq 2023-07-14 13:12
    关注
    • 这条语句赋值写法不对,您这样子赋值,没有改变前面定义的列表number,您赋值的这个number只是函数的内部变量,前面定义的number仍然是初值[]。这样,您永远不可能让空列表number与有四个值的result相等。所以输出永远的“再接再厉”。

      img

    • 可以改用原址更改列表的extend()方法

    
    numbers.extend(sample(caipiao_list, 4))
    
    • 代码运行效果截屏图片,四个数字全中机率有些低,我加入了中1~3数字的分支。

      img


    • 复刻您的代码,也一样踩了您的坑😂😂还好,爬了出来。😊

    #!/sur/bin/nve python
    # coding: utf-8
    from random import sample
    
    
    caipiao_list = list('1234567')
    numbers,result = [], []
    
    
    def last_list():
        numbers.extend(sample(caipiao_list, 4))
        print(f"\nZhongjianhaoma: {numbers}, {len(numbers)}")
    
    
    def my_list():
        
        while 1:
            if len(result) < 4:
                up_num = input('Input Number(1~7):').strip() # 去除输入前后可能存在的空格。
                result.append(up_num)
            else:
                break
                
        print('\n', result, len(result))
    
    
    def hit():
        count = 0
        print(numbers)
        
        for i in result:
            print(i in numbers) 
            if i in numbers:
                count += 1
    
            print(i, count)
        return count
    
    
    def win_l():
        n = hit()
        
        if numbers == result:
            print('\nWin!')
        elif n:
            print(f'\nscore a hit {n} numbers.')
        else:
            print('\nZaijiezaili.')
    
    
    if __name__ == '__main__':
        my_list() # 输入四个数字。
        last_list() # 随机选取四个数字。
        win_l() # 胜负评判。
    
    

    所以,用列表作“全局变量”使,一定记得,要“原址操作”。


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

报告相同问题?

问题事件

  • 系统已结题 7月22日
  • 已采纳回答 7月14日
  • 创建了问题 7月14日

悬赏问题

  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错