如何使用def生成Label中的随机字符串?

时间:2015-06-27 22:12:01

标签: python variables random

def mhello():    
    import  string    
    var = (random.choice("hey", "hi" "hello")    
    Label2 = Label(text=var, fg='Red').place(x=130,y=200)

这不起作用,我怎么做才能让标签的文字随机生成其中一个选项?

2 个答案:

答案 0 :(得分:0)

  

random.choice(SEQ)

Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError.

如果只是一个字符串作为seq传递,它将被视为字符序列,函数random.choice()将返回任何随机字符作为输出。

要从一组单词中获取完整的单词,请创建它们的列表,元组等,然后将其作为seq发送到random.choice()作为参数。它将从列表中返回一个元素,元组(无论传递什么数据类型)。

l = ["hey","hi","hello"]
var = (random.choice(l))

var = random.choice(["hey","hi","hello"])

如果你有一个字符串形式的所有单词,那么你可以直接使用split()函数将它们作为列表发送,而不是将它们转换为另一种数据类型。

string = "hey hi hello"
var = (random.choice(string.split()))

来源:@PadraicCunningham和python documentation

的评论

答案 1 :(得分:0)

两个问题:给出了错误的选择参数,以及错误的左括号。

这应该有效:

def mhello():    
    var = random.choice(["hey", "hi" "hello"])    
    Label2 = Label(text=var, fg='Red').place(x=130,y=200)