只看到一个空白屏幕,怎么了?
import msvcrt
while(1):
choice = msvcrt.getch()
if(choice =='a'):
print('a')
elif(choice =='s'):
print('s')发布于 2020-03-22 20:10:17
您的问题是getch()返回的是字节,而不是字符串。如果按a,则choice的值是字节字符串b'a',它与字符串'a'不同。请考虑以下内容:
>>> choice = b'a'
>>> choice == 'a'
False
>>> choice.decode() == 'a'
True而且您的屏幕仍然是空白的,因为这两个if-condition都不可能是真的,并且您没有通用的else:子句。只需输出choice的值,您就可以自己发现这一点。
更改您的测试
if choice =='a':至
if choice.decode() == 'a':(并且一定要从if测试中删除那些不必要的括号)。
在Python2中,您的原始代码将按照您期望的方式工作。
https://stackoverflow.com/questions/60797962
复制相似问题