三行代码  ›  专栏  ›  技术社区  ›  Kiri.

试图制作一个用莫尔斯电码闪烁的树莓皮皮皮项目。如何从“word”变量中获得单独的字符?

  •  -1
  • Kiri.  · 技术社区  · 1 月前
    from machine import Pin
    from time import sleep
    led = Pin(0, Pin.OUT)
    
    
    def dot():
        led.value(1)
        sleep(0.5)
        led.value(0)
        sleep(2)
    
    
    def dash():
        led.value(1)
        sleep(1)
        led.value(0)
        sleep(2)
    
    
    # 0.5 Seconds = Dot
    # 1 Second = Dash
    
    # word to be translated
    word = "Hi"
    
    1 回复  |  直到 1 月前
        1
  •  0
  •   mpioski    1 月前

    可以将Python中的字符串视为列表,例如:

    word = "Hi"
    print(word[0])
    print(word[1])
    #H
    #i
    

    知道了这一点,您可以迭代字符串:

    word = "Hi"
    for letter in word:
       print(letter)
    
    #H
    #i
    

    对于您的问题,您还可以将所有字母与其各自的代码进行映射:

    
    # 0 -> dot
    # 1 -> dash
    codes = {
       "A": (0, 1),
       "B": (1, 0, 0, 0),
       "C": (1, 0, 1, 0)
    }
    
    word = "AC"
    
    for letter in word:
        morse_codes = codes[letter]
        print(morse_codes)
    }
    #(0, 1)
    #(1, 0, 1, 0)