首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python msvcrt时出现代码问题

使用Python msvcrt时出现代码问题
EN

Stack Overflow用户
提问于 2020-03-22 18:01:39
回答 1查看 55关注 0票数 1

只看到一个空白屏幕,怎么了?

代码语言:javascript
复制
import msvcrt
while(1):
  choice = msvcrt.getch()
  if(choice =='a'):
      print('a')
  elif(choice =='s'):
      print('s')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-22 20:10:17

您的问题是getch()返回的是字节,而不是字符串。如果按a,则choice的值是字节字符串b'a',它与字符串'a'不同。请考虑以下内容:

代码语言:javascript
复制
>>> choice = b'a'
>>> choice == 'a'
False
>>> choice.decode() == 'a'
True

而且您的屏幕仍然是空白的,因为这两个if-condition都不可能是真的,并且您没有通用的else:子句。只需输出choice的值,您就可以自己发现这一点。

更改您的测试

代码语言:javascript
复制
if choice =='a':

代码语言:javascript
复制
if choice.decode() == 'a':

(并且一定要从if测试中删除那些不必要的括号)。

在Python2中,您的原始代码将按照您期望的方式工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60797962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档