<はじめての python_cw5 > python_cw4に続いて、ファイルを読み込んで書かれている文字をモール信号にします。 アルファベット26文字、数字10文字、記号などを関数にしていますのでプログラムが 長くなっています。 プログラム (<は半角にして下さい) ------------------------------------------------------------------------------- import os import sys import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) key=18 GPIO.setup(key,GPIO.OUT,initial=GPIO.LOW) sec=0.06 def tan(): GPIO.output(key,GPIO.HIGH) time.sleep(sec) GPIO.output(key,GPIO.LOW) time.sleep(sec) return def tyo(): GPIO.output(key,GPIO.HIGH) time.sleep(sec*3) GPIO.output(key,GPIO.LOW) time.sleep(sec) return def sp_m(): time.sleep(sec*2) return def sp_t(): time.sleep(sec*6) return # ***** 関数 A-Z ***** def A(): tan() tyo() sp_m() return def B(): tyo() tan() tan() tan() sp_m() return def b(): tyo() tan() tan() tan() return def C(): tyo() tan() tyo() tan() sp_m() return def D(): tyo() tan() tan() sp_m() return def E(): tan() sp_m() return def F(): tan() tan() tyo() tan() sp_m() return def G(): tyo() tyo() tan() sp_m() return def H(): tan() tan() tan() tan() sp_m() return def I(): tan() tan() sp_m() return def J(): tan() tyo() tyo() tyo() sp_m() return def K(): tyo() tan() tyo() sp_m() return def k(): tyo() tan() tyo() return def L(): tan() tyo() tan() tan() sp_m() return def M(): tyo() tyo() sp_m() return def N(): tyo() tan() sp_m() return def n(): tyo() tan() return def O(): tyo() tyo() tyo() sp_m() return def P(): tan() tyo() tyo() tan() sp_m() return def Q(): tyo() tyo() tan() tyo() sp_m() return def R(): tan() tyo() tan() sp_m() return def r(): tan() tyo() tan() return def S(): tan() tan() tan() sp_m() return def s(): tan() tan() tan() return def T(): tyo() sp_m() return def U(): tan() tan() tyo() sp_m() return def V(): tan() tan() tan() tyo() sp_m() return def W(): tan() tyo() tyo() sp_m() return def X(): tyo() tan() tan() tyo() sp_m() return def Y(): tyo() tan() tyo() tyo() sp_m() return def Z(): tyo() tyo() tan() tan() sp_m() return # ***** 関数 1-0 ***** def _1(): tan() tyo() tyo() tyo() tyo() sp_m() return def _2(): tan() tan() tyo() tyo() tyo() sp_m() return def _3(): tan() tan() tan() tyo() tyo() sp_m() return def _4(): tan() tan() tan() tan() tyo() sp_m() return def _5(): tan() tan() tan() tan() tan() sp_m() return def _6(): tyo() tan() tan() tan() tan() sp_m() return def _7(): tyo() tyo() tan() tan() tan() sp_m() return def _8(): tyo() tyo() tyo() tan() tan() sp_m() return def _9(): tyo() tyo() tyo() tyo() tan() sp_m() return def _0(): tyo() tyo() tyo() tyo() tyo() sp_m() return # ***** 関数 記号、簡略文字(bk,sk,rn) ***** def _sura(): tyo() tan() tan() tyo() tan() sp_m() return def _qu(): tan() tan() tyo() tyo() tan() tan() sp_m() return def moji(): if n_moji=="A": A() elif n_moji=="B": B() elif n_moji=="C": C() elif n_moji=="D": D() elif n_moji=="E": E() elif n_moji=="F": F() elif n_moji=="G": G() elif n_moji=="H": H() elif n_moji=="I": I() elif n_moji=="J": J() elif n_moji=="K": K() elif n_moji=="L": L() elif n_moji=="M": M() elif n_moji=="N": N() elif n_moji=="O": O() elif n_moji=="P": P() elif n_moji=="Q": Q() elif n_moji=="R": R() elif n_moji=="S": S() elif n_moji=="T": T() elif n_moji=="U": U() elif n_moji=="V": V() elif n_moji=="W": W() elif n_moji=="X": X() elif n_moji=="Y": Y() elif n_moji=="Z": Z() elif n_moji=="1": _1() elif n_moji=="2": _2() elif n_moji=="3": _3() elif n_moji=="4": _4() elif n_moji=="5": _5() elif n_moji=="6": _6() elif n_moji=="7": _7() elif n_moji=="8": _8() elif n_moji=="9": _9() elif n_moji=="0": _0() elif n_moji==" ": sp_t() elif n_moji=="b": b() elif n_moji=="k": k() elif n_moji=="n": n() elif n_moji=="r": r() elif n_moji=="/": _su() elif n_moji=="?": _qu() return #-----------------main---------------------# #cwmoji1.txtファイルの有無チェック if os.path.exists("cwmoji1.txt"): print ("cwmoji1.txt確認しました") else: print ("cwmoji1.txt確認出来ません、終了します") sys.exit() #ファイルを開く with open ("cwmoji1.txt",mode="r") as f: cwmoji=f.readline() n_len=len(cwmoji) print (cwmoji) print ("文字数=" , n_len ) #モールス文字送信 cnt=0 while cnt < n_len: n_moji=cwmoji[cnt:cnt+1] print (n_moji , end="") #改行なしで表示 moji() cnt=cnt+1 ------------------------------------------------------------------------------- 右画像の結果になったでしょうか