如何使用列表?

huangapple go评论74阅读模式
英文:

How Do You Use Lists?

问题

我正在为micro:bit制作莫尔斯电码翻译器。我使用按钮A表示点,按钮B表示划线,两个按钮同时按下表示输入。问题是我不知道如何使用列表,所以不确定该怎么做。

Alist = ["ButtonA", "ButtonB", "ButtonAB"]
Blist = ["ButtonB", "ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Clist = ["ButtonB", "ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Dlist = ["ButtonB", "ButtonA", "ButtonA", "ButtonAB"]
Elist = ["ButtonA", "ButtonAB"]
Flist = ["ButtonA", "ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Glist = ["ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Hlist = ["ButtonA", "ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Ilist = ["ButtonA", "ButtonA", "ButtonAB"]
Jlist = ["ButtonA", "ButtonB", "ButtonB", "ButtonB", "ButtonAB"]
Klist = ["ButtonB", "ButtonA", "ButtonB", "ButtonAB"]
Llist = ["ButtonA", "ButtonB", "ButtonA", "ButtonA", "ButtonAB"]
Mlist = ["ButtonB", "ButtonB", "ButtonAB"]
Nlist = ["ButtonB", "ButtonA", "ButtonAB"]
Olist = ["ButtonB", "ButtonB", "ButtonB", "ButtonAB"]
Plist = ["ButtonA", "ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Qlist = ["ButtonB", "ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Rlist = ["ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Slist = ["ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Tlist = ["ButtonB", "ButtonAB"]
Ulist = ["ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Vlist = ["ButtonA", "ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Wlist = ["ButtonA", "ButtonB", "ButtonB", "ButtonAB"]
Xlist = ["ButtonB", "ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Ylist = ["ButtonB", "ButtonA", "ButtonB", "ButtonB", "ButtonAB"]
Zlist = ["ButtonB", "ButtonB", "ButtonAB"]
ButtonA = input.button_is_pressed[Button.A]
ButtonB = input.is_button_pressed[Button.B]
ButtonAB = input.button_is_pressed[Button.AB]

if Alist:
    basic.show_string("A")

我尝试了一个if语句来检查是否满足条件,如果满足条件,就打印字母A。这可能很简单,但我还没有达到那个技能水平。

英文:

I am making a morse code translator for the micro;bit. I have button A as the dot, button B for the dash and both together for enter. The problem is I don't know how lists work so I'm not sure what to do.

Alist = ["ButtonA", "ButtonB", "ButtonAB"]
Blist = ["ButtonB", "ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Clist = ["ButtonB", "ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Dlist = ["ButtonB", "ButtonA", "ButtonA", "ButtonAB"]
Elist = ["ButtonA", "ButtonAB"]
Flist = ["ButtonA", "ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Glist = ["ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Hlist = ["ButtonA", "ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Ilist = ["ButtonA", "ButtonA", "ButtonAB"]
Jlist = ["ButtonA", "ButtonB", "ButtonB", "ButtonB", "ButtonAB"]
Klist = ["ButtonB", "ButtonA", "ButtonB", "ButtonAB"]
Llist = ["ButtonA", "ButtonB", "ButtonA", "ButtonA", "ButtonAB"]
Mlist = ["ButtonB", "ButtonB", "ButtonAB"]
Nlist = ["ButtonB", "ButtonA", "ButtonAB"]
Olist = ["ButtonB", "ButtonB", "ButtonB", "ButtonAB"]
Plist = ["ButtonA", "ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Qlist = ["ButtonB", "ButtonB", "ButtonB", "ButtonA", "ButtonAB"]
Rlist = ["ButtonA", "ButtonB", "ButtonA", "ButtonAB"]
Slist = ["ButtonA", "ButtonA", "ButtonA", "ButtonAB"]
Tlist = ["ButtonB", "ButtonAB"]
Ulist = ["ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Vlist = ["ButtonA", "ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Wlist = ["ButtonA", "ButtonB", "ButtonB", "ButtonAB"]
Xlist = ["ButtonB", "ButtonA", "ButtonA", "ButtonB", "ButtonAB"]
Ylist = ["ButtonB", "ButtonA", "ButtonB", "ButtonB", "ButtonAB"]
Zlist = ["ButtonB", "ButtonB", "ButtonAB"]
ButtonA = input.button_is_pressed[Button.A]
ButtonB = input.is_button_pressed[Button.B]
ButtonAB = input.button_is_pressed[Button.AB]
if Alist:
basic.show_string("A")

I tried an if statement to check if it's requirements were met and if so, to print the letter A. It's probably simple but I'm not at that skillset yet.

答案1

得分: 1

你可以将一种东西映射到另一种东西,所以字典是一种自然的方法。如下所示,沿着以下方式进行。按钮按下的元组用作字典的键:

morse = {('bA', 'bB', 'bAB'): 'a',
         ('bB', 'bA', 'bA', 'bA', 'bAB'): 'b'
         }
# 对于所有字母都是如此
entry = ('bA', 'bB', 'bAB')

print(morse.get(entry, 'unknown'))

结果是

a

英文:

You a 'mapping' from one thing to another, so a Dictionary is a natural approach. Along the lines as shown below. A tuple of the button presses is used as the key to the Dictionary.:

morse = {('bA', 'bB', 'bAB'): 'a',
('bB', 'bA','bA','bA','bAB') : 'b'
}
#and so on for all the letters
entry = ('bA', 'bB', 'bAB')
print(morse.get(entry, 'unknown'))

gives

a

huangapple
  • 本文由 发表于 2023年6月29日 02:49:19
  • 转载请务必保留本文链接:https://go.coder-hub.com/76575939.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定