def mhello():
import string
var = (random.choice("hey", "hi" "hello")
Label2 = Label(text=var, fg='Red').place(x=130,y=200)
这不起作用,我怎么做才能让标签的文字随机生成其中一个选项?
答案 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)