鱼C论坛

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

[已解决]关于随机取值

[复制链接]
发表于 2022-6-15 09:16:08 | 显示全部楼层 |阅读模式

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

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

x
我这有个取随机值模拟交易胜率的想法,但刚入门pathon,很多东西还不会,想求大家编写个小程序,感谢!
想实现功能如下:
1、有以下列表,“-1”6个,“1”1个,“2”2个,“5”1个
lst = ["-1","-1","-1","-1","-1","-1","1","2","2","5"]
2、每次取一个值,循环30次,将每次取值结果和最终累加结果输出。

最佳答案
2022-6-15 12:39:54
  1. from random import choice
  2. arr = [-1] * 6 + [1, 2, 2, 5]
  3. res = []

  4. for n in range(30):
  5.         res.append(choice(arr))

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

使用道具 举报

发表于 2022-6-15 09:18:29 | 显示全部楼层
import random
random.randint()括号里放最小值和最大值+1
给个最佳答案谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-15 09:35:59 | 显示全部楼层
我知道导入random模块,但还是不会完整的写出来,好人做到底,请给我一套完整的代码,谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-15 12:36:39 | 显示全部楼层
求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

  1. lst = [-1, -1, -1, -1, -1, -1, 1, 2, 2, 5]

  2. i = 0
  3. while i <= 30:
  4.     num = random.choice(lst)
  5.     print(num, end=" ")
  6.     num += num
  7.     i += 1

  8. print(f"\n累计{num}")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-15 12:39:54 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
  1. from random import choice
  2. arr = [-1] * 6 + [1, 2, 2, 5]
  3. res = []

  4. for n in range(30):
  5.         res.append(choice(arr))

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

使用道具 举报

发表于 2022-6-15 13:02:55 From FishC Mobile | 显示全部楼层
wangxiaolvshi 发表于 2022-6-15 12:36
求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

不错不错
其实很多时候自己也是能找到答案的。
我也是从零到现在,每次遇到的问题都先自己找答案,所以几乎没有发问过问题(因为几乎都有题解)。
犯错肯定会有的,然后很多大佬都会热心指教。
有时看看其他大佬的代码,了解他的思路,发现更好,就重复运用到熟悉为止(可以说是抄袭思路,哈哈哈)从中学习更多。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-15 13:10:01 | 显示全部楼层
我的代码可能会更好一点
  1. from random import choice
  2. lst = [-1,-1,-1,-1,-1,-1,1,2,2,5]
  3. randlst = []

  4. for i in range(30):
  5.         randlst.append(choice(lst))
  6.         print(randlst[i])

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

使用道具 举报

 楼主| 发表于 2022-6-15 19:28:02 | 显示全部楼层
感谢,5楼“傻眼猫咪”的支持和鼓励,通过B站自学python,难免遇到很多问题,身边也没有编程的朋友,只能通过论坛来求教了,感谢各位热心的付出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-15 19:31:03 | 显示全部楼层
wangxiaolvshi 发表于 2022-6-15 12:36
求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

回头在看自己的代码,有个严重错误,应该在循环体外设置一个变量sum=0,在循环体内让sum +=num,最后输出sum才对。同时对比傻眼猫咪和临时号的写法,我这个方法,太原始了,土的掉渣
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 17:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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