如何在编写莎士比亚的Python 2.7中编写RNG代码

时间:2017-12-19 00:53:19

标签: python-2.7 random

为了好玩,我试图在python中编写一个代码,将随机数与字母或标点符号相关联,并将该字母添加到列表中。然后,我想让代码继续制作新的随机字母列表,直到它输出"成为或不成为,这就是问题。"然后,我想打印该列表,看看它采取了多少评估。这是我到目前为止所做的。

from random import *

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',',',' ','.']

sentence = []

numbers = []


def random(x):

     randval = x
     return randval


count = 0
for i in range(1000): # trying to place an upper bound on how many times to try
     for i in range(41): # the number of characters in the sentence
         randomness = random(randint(0,28)) # the number of enteries in the alphabet list
         numbers.append(randomness)     
     for i in numbers:
         count += 1
         sentence.append(alphabet[i]) 
     if sentence!=['t','o',' ','b','e',' ','o','r',' ','n','o','t',' ','t','o',' ','b','e',',',' ','t','h','a','t',' ','i','s','t','h','e',' ','q','u','e','s','t','i','o','n','.']:
         sentence = [] ### This is supposed to empty the list if it gets the wrong order, but doesn't quite do that.
     if sentence == ['t','o',' ','b','e',' ','o','r',' ','n','o','t',' ','t','o',' ','b','e',',',' ','t','h','a','t',' ','i','s','t','h','e',' ','q','u','e','s','t','i','o','n','.']:
         print sentence
         print count
         break

 new_sentence = ''.join(sentence)    
 print new_sentence

我不确定我做错了什么。列表大小不断爆炸,而不是长度为41.建议?

0 个答案:

没有答案
相关问题