2017-07-31 20 views
1

これで、私が構築しているアプリケーション用の楽譜のページに画像(8分音符)を印刷するように、z.ExNote()を取得しようとしています。基本的には、すべての変数は、ノートが置かれる場所の(x、y)座標と関係があるだけです。 .ExNote()は、Noteクラス内の関数であり、Noteオブジェクトの5つの変数(Num, staff, measure, note, notetype)を配置するイメージのx、y座標に変換します。この完全な混乱はあなたのために4つの変数を扱うので、理論的には注釈c,d,e,f,g,a,bを入力することができ、それはスタッフの冒頭にそれを印刷し、次の入力は次の位置になります。右など。入力機能で何も出力されない

StaffL = {0: 'nada', 1: '1R', 2: '1L', 3:'2R', 
     4: '2L', 5: '3R', 6: '3L', 7: '4R', 8: '4L'} 

pygame.display.set_caption("Piano App") 

done = False 
clock = pygame.time.Clock() 

while not done: 

    clock.tick(10) 

    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      done=True 



screen.fill(white) 
DrawGrandStaffAll() 
TS(4,4) 
notetypeZ = 'Ethnote' 
g=0 
while g < 8: 
    g+=1 
    staff = StaffL[g] 
    measureZ = 0 
    while measureZ<6: 
     measureZ += 1 
     wnoteZ = 0 
     while wnoteZ<8: 
      wnoteZ += 1 
      noteZ=(input("\n\nWhat note \nc\nd\ne\nf\ng\na\nb\nc2\nd2\n")) 
      z = Note(int(wnoteZ), repr(staff), int(measureZ), repr(noteZ), repr(notetypeZ)) 
      z.ExNote() 
      pygame.display.flip() 
pygame.quit() 

私はちょうどzは(Note(1, '1R', 1, 'c', 'Ethnote'))に等しくなってしまうものに入力してz.Exnote()を行う場合、それは(私のノートは、楽譜上に印刷される)動作します。しかし、私がこのようにするとうまくいかない。私は別のウィンドウでこのコードを実行し、zを印刷して、それが技術的なエラー/タイプミスではないことを確認しました。出力はまさに私が望むものです。したがって、問題は変数ではなく、技術的なエラーではありません。私はエラーが入力と何か関係があると仮定しています。これは、手動でz=Note(1, '1R', 1, 'c', 'Ethnote')を入力してからこのコードを使用してステートメントを作成する唯一の変更だからです。

答えて

0

あなたはPython 2または3を使用していますか?Python 2を使用している場合、input()は入力した式を評価しようとします。 raw_input()は私があなたがここで欲しいと信じている文字列を返します。

+0

私はそれを理解しました –

関連する問題