打印出一个随机字符串(Python)

时间:2013-12-05 03:53:20

标签: python random

我被要求使用先前定义的值生成随机字符串。

THREE_CHOICES = 'ABC'
FOUR_CHOICES = 'ABCD'
FIVE_CHOICES = 'ABCDE'

import random

def generate_answers(n: int) -> str:
    '''Generates random answers from number inputted '''
    for i in range(0,n):
        return random.choice(FOUR_CHOICES)
        continue

我想在这里发生的事情是,如果我将7插入到该功能中,我会得到类似的东西 “ABDCBBA”

指定字母的随机7个字符串。但是,无论我输入的是什么数字,此代码都只返回一个随机字符(必须为非零)。

我不知道该怎么做,有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

你可以返回一个这样的列表:

def generate_answers(n):
    '''Generates random answers from number inputted '''
    randoms = [random.choice(FOUR_CHOICES) for _ in range(0,n)]
    return randoms
    #return ''.join(randoms) to get string

print generate_answers(7)  

这将打印如下列表:['D', 'D', 'D', 'B', 'A', 'A', 'C']

如果你想要一个字符串

,你可以join列表

答案 1 :(得分:0)

未经测试,但应该有效。

THREE_CHOICES = 'ABC'
FOUR_CHOICES = 'ABCD'
FIVE_CHOICES = 'ABCDE'

import random

def generate_answers(n):
    '''Generates random answers from number inputted '''
    answerList = ""
    for i in range(0,n):
        answerList += random.choice(FOUR_CHOICES)
    return answerList