仅显示空白屏幕,怎么了?
import msvcrt
while(1):
choice = msvcrt.getch()
if(choice =='a'):
print('a')
elif(choice =='s'):
print('s')
您的问题是getch()
返回的是字节而不是字符串。如果按a
,则choice
的值是字节字符串b'a'
,与字符串'a'
不同。考虑一下:
>>> choice = b'a'
>>> choice == 'a'
False
>>> choice.decode() == 'a'
True
并且您的屏幕保持空白,因为if
-条件不可能为真,并且您没有包罗万象的else:
子句。您只需打印出choice
的值,便可以自己发现这一点。
从]更改测试>
if choice =='a':
到
if choice.decode() == 'a':
((并从
if
测试中删除那些不必要的paren)。