以下是我的一小部分程序。目前,该程序接受用户的输入并将其转换为Python Shell中的二进制数。我试图使用该输入,以便我可以图形显示二进制数。目前,我无法在pygame屏幕中显示任何内容。它只是白色,没有圆圈,没有文字。我不确定为什么它不起作用。老师建议我把这段代码变成一个程序,看看我有运气,然后再回到他身边。我希望有人可以找出我的手术有什么问题,并指出我或纠正它。任何帮助将非常感激。如果我的问题格式不够壮观,我很抱歉,这是我的第一篇文章。
from pygame import*
font.init()
comicFont=font.SysFont("ComicSansMS",12)
screen = display.set_mode((500,500))
binaryWord = str(100101)
binaryDigits = len(binaryWord)
binaryBlit = range(0,10)
binaryGraphicX = 0
color = (0,0,0)
color2 = (125,125,125)
pos = (binaryGraphicX,200)
radius = 15
width = 0
while True:
for binaryDigit in range (0,binaryDigits):
TxtPic = []
binaryGraphicX = binaryGraphicX + 25
if binaryWord[binaryDigit] == 1:
running=True
while running:
for evnt in event.get():
if evnt.type==QUIT:
running = False
event.get()
draw.circle(screen,color,pos,radius)
display.flip()
TxtPic[binaryDigit]=comicFont.render(str(2**binaryBlit),True,(0,0,0))
screen.blit(TxtPic[binaryDigit],(binaryGraphicX,220))
elif binaryWord[binaryDigit] == 0:
running=True
while running:
for evnt in event.get():
if evnt.type==QUIT:
running = False
event.get()
draw.circle(screen,color2,pos,radius)
display.flip()
TxtPic[binaryDigit]=comicFont.render(str(2**binaryBlit),True,(0,0,0))
screen.blit(TxtPic[binaryDigit],(binaryGraphicX,220))
quit()
running=True
while running:
for evnt in event.get():
if evnt.type==QUIT:
running = False
event.get()
screen.fill((255,255,255))
TxtPic1=comicFont.render(str(solution),True,(255,255,255))
screen.blit(TxtPic1,(200,200))
binaryGraphics(binaryNumber)
display.flip()
display.quit()
答案 0 :(得分:0)
我一直在查看你的代码,我发现的第一个明显的问题是你在if语句中将字符/字符串与int进行比较。
即
字符串:
binaryWord = str(100101)
String to Int比较:(将返回false并跳过)
if binaryWord[binaryDigit] == 1:
请改为尝试:
if binaryWord[binaryDigit] == "1":
您的程序永远不会有机会获取绘制文本/圈子的代码。