我需要帮助(与def)打印出一些字母表

2024-09-29 02:18:27 发布

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

目前我面临python代码的问题

我有两个问题与“def”代码有关

(一) 我需要打印出6个字母表,即“K,E,Y,S,N,O”

更苗条的样品

enter image description here

(二) 如果用户键入一个像“KEY”这样的单词,然后用KEY打印出*mark,我如何打印这个字母表 或者,如果用户键入“BED”,那么只打印“E”,因为我们只有带有K、E、Y、S、N、O的字母表

有谁能帮我回答这两个问题吗?我很感激

谢谢


Tags: key代码用户image键入heredef样品
1条回答
网友
1楼 · 发布于 2024-09-29 02:18:27

Question 1需要处理二维列表(带有行列表的列表),我跳过这个问题


至于Question 2,您可以在word中过滤字符

您可以将字符串"BED"视为字符列表(即使不使用list("BED")),并且可以在for-loop中使用它来检查具有列表["K","E","Y","S","N","O"](或"KEYSNO")的每个字符,并跳过字符"B""D"

#my_chars = "KEYSNO"  # also works
my_chars = ["K","E","Y","S","N","O"]

word = "BED"

for char in word:
    if char in my_chars:
        print(char, "- OK")
    else:
        print(char, "- unknown")

结果:

B - unknown
E - OK
D - unknown

通过这种方式,您可以创建新列表,以仅保留正确的字符

my_chars = ["K","E","Y","S","N","O"]

word = "BED"

filtered_chars = []        

for char in word:
    if char in my_chars:
        filtered_chars.append(char)

print(filtered_chars)

结果:

['E']

在Python中,您可以使用list comprehension编写更短的代码

filtered_chars = [char for char in word if char in my_chars]        

最终,您可以使用类似filter()的函数编写它

filtered_chars = list(filter(lambda char: char in my_chars, word))

相关问题 更多 >