鱼C论坛

 找回密码
 立即注册
查看: 2076|回复: 8

[已解决]写一个抽取随机数的小程序

[复制链接]
发表于 2017-11-23 16:13:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序目的:在指定的数字范围内,随机抽取一个整数。随后在原范围内删除抽出的数字,保证下次抽取不会出现已经抽过的数字。
这个是有个比赛,要抽取题目,选手抽过的就不能在出现。
我自己写了一个,但是不行。删不掉抽取过的数字。
求解,急用!谢谢!很着急
  1. import random as g
  2. import easygui as h
  3. import sys

  4. while 1:
  5.     h.msgbox("请抽取一个题目",title = "科普知识决赛",ok_button = "开始")

  6.     easy = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

  7.     choice = g.choice(easy)

  8.     h.msgbox("您抽取的题目是:"+str(choice),title = "科普知识决赛",ok_button = "返回")

  9.     easy1 = []

  10.     easy1 = easy1.append(choice)
  11.    
  12.     easy2 = easy.remove(easy1[0])

  13.     easy = easy2


复制代码
最佳答案
2017-11-23 16:40:46
  1. import random

  2. easy = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

  3. while True:
  4.     try:
  5.         num = random.choice(easy)
  6.         easy.remove(num)
  7.     except:
  8.         print('列表为空,结束循环')
  9.         break
  10.     print('选出的数字是: %s' % num)

  11. print(easy)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-23 16:32:05 | 显示全部楼层
  1. import random as r
  2. ls = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
  3. while ls:
  4.     _ = input('回车键')
  5.     n = ls.pop(r.randint(0,len(ls)-1))
  6.     _ = input('随机选的数是: %d'%n)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-23 16:37:57 | 显示全部楼层

TypeError: 'NoneType' object is not subscriptable
刚刚那个代码回复的是这个错误,我想知道最后那个把列表里删掉之前的那个抽取的数,哪里错了。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 16:40:46 | 显示全部楼层    本楼为最佳答案   
  1. import random

  2. easy = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

  3. while True:
  4.     try:
  5.         num = random.choice(easy)
  6.         easy.remove(num)
  7.     except:
  8.         print('列表为空,结束循环')
  9.         break
  10.     print('选出的数字是: %s' % num)

  11. print(easy)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 16:50:28 | 显示全部楼层
如默 发表于 2017-11-23 16:37
TypeError: 'NoneType' object is not subscriptable
刚刚那个代码回复的是这个错误,我想知道最后那个 ...

我这里没错阿
你把程序改写了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-23 16:57:57 | 显示全部楼层

谢谢老哥,唉,我怎么就想不到呢,你的代码一目了然,我。。。想复杂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-23 16:58:27 | 显示全部楼层
SixPy 发表于 2017-11-23 16:50
我这里没错阿
你把程序改写了?

不是,是我自己发的那个代码,老哥你的没错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-23 17:01:37 | 显示全部楼层
如默 发表于 2017-11-23 16:58
不是,是我自己发的那个代码,老哥你的没错

莫名其妙
一个pop解决的事~
非要写那么多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-23 17:04:10 | 显示全部楼层
SixPy 发表于 2017-11-23 17:01
莫名其妙
一个pop解决的事~
非要写那么多

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 18:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表