2017-07-31 81 views
1

好吧,所以我想要z.ExNote()打印出一张图片(第8个音符)到一个我正在建立的应用程序的乐谱页面上。基本上每个变量只与放置笔记的位置的(x,y)坐标有关。 .ExNote()Note类中的函数,它将Note对象(Num, staff, measure, note, notetype)的5个变量转换为要放置图像的x,y坐标。这整个混乱照顾你4个变量,所以你理论上可以输入注释c,d,e,f,g,a,b,它会打印出来在工作人员的开始,然后你输入的下一个笔记将是下一个位置,恰好是17像素的对等等。功能与输入打印什么都没有

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

我想通了谢谢,虽然 –