使用python修复了带有列表的If语句

2024-09-28 01:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个简单的“便笺卡”,如果你能在Python中这样称呼它的话。我已经环顾四周好几个小时了,我只是没有看到我的代码有问题。我试图从字符串中随机选择一个单词,如果选择了该单词,则打印定义。问题是短语“to be”与列表中的所有内容都在一起,而不仅仅是[0],即“ser”。这是我的密码:

import random

word = ["ser","haber","estar","tener", 'hacer'] 



print(random.choice(word))

for item in word :
    if item == word[0]:
        print("To be")

固定代码

import random

word = ["ser","haber","estar","tener", 'hacer']

choice_word = random.choice(word)
print(choice_word)

if choice_word == word[0]:
        print("To be")

Tags: 代码importifrandombeitem单词ser
3条回答

不确定这是否是你想要的

import random

word = ["ser","haber","estar","tener", 'hacer'] 

print(random.choice(word))

for item in word :
    print("To be {}".format(item))

根据我从问题中了解到的情况,您不需要在if语句之前迭代循环。将random.choice的输出分配给一个变量,然后直接进行比较

In [123]: x=random.choice(word)

In [124]: if x== word[0]:
     ...:     print("to be")
     ...:

我不确定我是否完全理解你的问题。但据我所知,当[0]“ser”一词出现时,您希望打印成这样。那么问题是,每次检查if item==word[0]时,您都在循环列表,因此每次它都会打印为,因为每次您循环第一个项“ser”。请尝试以下方法:

import random

word = ["ser","haber","estar","tener", 'hacer']

choice_word = random.choice(word)
print(choice_word)

if choice_word == word[0]:
        print("To be")

相关问题 更多 >

    热门问题