wangxiaolvshi 发表于 2022-6-15 09:16:08

关于随机取值

我这有个取随机值模拟交易胜率的想法,但刚入门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 09:18:29

import random
random.randint()括号里放最小值和最大值+1
给个最佳答案谢了

wangxiaolvshi 发表于 2022-6-15 09:35:59

我知道导入random模块,但还是不会完整的写出来,好人做到底,请给我一套完整的代码,谢了

wangxiaolvshi 发表于 2022-6-15 12:36:39

求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

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

i = 0
while i <= 30:
    num = random.choice(lst)
    print(num, end=" ")
    num += num
    i += 1

print(f"\n累计{num}")

傻眼貓咪 发表于 2022-6-15 12:39:54

from random import choice
arr = [-1] * 6 +
res = []

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

print(sum(res))

傻眼貓咪 发表于 2022-6-15 13:02:55

wangxiaolvshi 发表于 2022-6-15 12:36
求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

不错不错{:10_254:}。
其实很多时候自己也是能找到答案的。
我也是从零到现在,每次遇到的问题都先自己找答案,所以几乎没有发问过问题(因为几乎都有题解)。
犯错肯定会有的,然后很多大佬都会热心指教。
有时看看其他大佬的代码,了解他的思路,发现更好,就重复运用到熟悉为止(可以说是抄袭思路,哈哈哈)从中学习更多。

临时号 发表于 2022-6-15 13:10:01

我的代码可能会更好一点
from random import choice
lst = [-1,-1,-1,-1,-1,-1,1,2,2,5]
randlst = []

for i in range(30):
        randlst.append(choice(lst))
        print(randlst)

print(sum(randlis))

wangxiaolvshi 发表于 2022-6-15 19:28:02

感谢,5楼“傻眼猫咪”的支持和鼓励,通过B站自学python,难免遇到很多问题,身边也没有编程的朋友,只能通过论坛来求教了,感谢各位热心的付出。

wangxiaolvshi 发表于 2022-6-15 19:31:03

wangxiaolvshi 发表于 2022-6-15 12:36
求人不如求己,翻看了random函数的说明,调用random.choice实现了预期效果

回头在看自己的代码,有个严重错误,应该在循环体外设置一个变量sum=0,在循环体内让sum +=num,最后输出sum才对。同时对比傻眼猫咪和临时号的写法,我这个方法,太原始了,土的掉渣
页: [1]
查看完整版本: 关于随机取值