你如何使python读取它打印的随机值并将其插入到数组中?

时间:2014-01-17 17:41:53

标签: python arrays for-loop random fixed

我为Home work Python写了一个小硬币翻转程序,它会选择两个值中的一个;随机打开或打印它们,循环迭代10次然后停止。据我所知,计算某些单词重复次数的唯一方法是将单词放在数组或拆分变量字符串中,然后运行预先编写的cnt。点击Here即可查看该讨论。

我需要知道如何让Python获取它产生的随机值,然后根据for循环的迭代次数(在这种情况下为x次迭代)将其保存到数组中。

这是变量名称和两个选项:

coin = ["Heads", "Tails"]

以下是硬币鳍状肢核心的代码:

#Flipping core :)
def flipit(random, flip, time, comment, repeat):
    time.sleep(1)
    print("It begins...")
    print("\n")
    for x in range(0, 10):
        print("Flip number", x + 1)
        print(random.choice(comment))
        time.sleep(1)
        print(random.choice(coin),"\n")
        time.sleep(2)
        print("\n")
    from collections import Counter
    counting = []
    cnt = Counter(counting)
    cnt
    print("Type startup(time) to begin flipping coins again")

如果您确实想要改进代码,请在您有时间的情况下进行,但我需要的是一种方法,我可以将其放入整个程序中,以使其正常运行。

请不要担心随机评论,这有点乐趣。

我已将整个程序粘贴到PasteBin上,点击Here即可。

感谢您阅读本文,感谢那些回应甚至修复它的人。

编辑: 仅供参考,我对Python有点新手,我知道一些事情,但回答这一点的人中的一半都不会知道。

解决方案: 我已经设法使用if for循环中的每次迭代if语句使Python“读取”随机值,使用if语句我根据random.choice将1添加到相应的变量。

这是翻转核心代码:

def flipit(random, time, comment, headcount, tailcount, side):
    time.sleep(1)
    print("It begins...")
    print("\n")
    for x in range(0, 10):
        print("Flip number", x + 1)
        side = random.choice(coin) # get the random choice
        print(random.choice(comment))
        time.sleep(1)
        print(side) # print it
        if side == "Heads":
            headcount += 1
        else:
            tailcount += 1
        time.sleep(2)
        print("\n")
    print("You got", headcount, "heads and", tailcount, "tails!")
    print("Type start() to begin flipping coins again")
    resetheadtail()

resetheadtail()是我在程序运行结束时重置变量时添加的新函数。

如需完整代码,请点击Here

感谢所有帮助过的人和那些坚持我的新手的人:)

#comment necessary for edit, please ignore

1 个答案:

答案 0 :(得分:0)

我认为你想要做的是:

flip = random.choice(coin) # get the random choice
print(flip) # print it
counting.append(flip) # add it to the list to keep track

请注意,您需要将counting = []移至for循环之前。