使用randint从字符串返回随机字母

时间:2015-04-13 02:33:40

标签: python

所以我必须创建一个函数,它接受一个参数,一个字符串' s'它会从字符串'中返回一个随机字母,但它必须使用randint(n, m)

就像一个例子:

如果我将字符串"你好!"传递给它,它可能会返回" h",或者" e",或&中的任何其他字母#34;你好",但它不应该返回" m"或者" n",因为那些字母不在"你好!"。每次传递相同的字符串时,你的函数都会返回不同的东西,但是(偶然)它可以连续多次返回相同的答案

这是我到目前为止所做的:

from random import randint

def random_element(s):
    #i'm really not sure what else to put after this since I am new to programming and I've never entirely used the "randint"

我不明白还有什么要做的,非常感谢任何帮助!

5 个答案:

答案 0 :(得分:1)

从0到字符串长度的随机数 - 1,然后访问该字符并将其返回:

from random import randint

def random_element(s):
    rand_index = randint(0, len(s)-1)
    return s[rand_index]

>>> random_element("hello")
'o'
>>> random_element("Stack Overflow")
'w'
>>> random_element("Stack Overflow")
'w'
>>> random_element("Stack Overflow")
'c'
>>> random_element("Stack Overflow")
'r'
>>> random_element("Stack Overflow")
'a'
>>> random_element("Stack Overflow")
'l'
>>> 

答案 1 :(得分:1)

这就是你想要的,我希望你能得到它:

def random_element(s):
    # s is a string
    # You can take its lenght and save it in a variable
    len_s = len(s)
    # And then return a random word like this, in the range l-1
    # because there is no index 5 since you start countint from 0, in other 
    # words  h e l l o
    #        0 1 2 3 4
    # and randint has a domain of a<=n<=b (the limits), where randint(a,b)
    # You get the word and then assign it to a variable
    letter = s[randint(0, len_s - 1)]
    return letter

答案 2 :(得分:0)

randint获取一个开始和结束索引,并为您提供一个随机数。使用len将为您提供字符串的长度。这可以用于结束索引,并且start应始终为零。可以使用[]表示法访问字符串字符。

所有这一切:

from random import randint
def random_element(s):
    random_number = randint(0, len(s)-1)
    return s[random_number]

可以在线轻松找到Python文档。

我还建议random.choice

答案 3 :(得分:0)

我意识到OP需要使用random.randint(),但为了完整起见......我应该使用random.choice()从字符串中选择一个随机字母(字符串也是序列) !

from random import choice

def random_element(s):
    return choice(s)

答案 4 :(得分:-1)

from random import randint

def random_element(s):
    return s[randint(0, len(s)-1)]

>>> print random_element('blah')
h
>>> print random_element('blah')
a
>>> print random_element('blah')
b
>>> print random_element('blah')
l