python - 代码在开头没有输入的情况下工作,为什么?
问题描述
如果我一开始就删除了,当我手动spam = input()
分配一个值时,代码就会起作用。spam
但是,如下所示,当我被提示给 赋值时spam
,无论我给什么,它都会告诉我“问候!” 为什么?
spam = input()
if spam == 1:
print('Hello')
elif spam == 2:
print('Howdy')
else:
print('Greetings!')
解决方案
input
返回一个字符串,但您将它与整数文字(1
和2
)进行比较。一种选择是改用字符串文字:
if spam == '1': # Here
print('Hello')
elif spam == '2': # And here
print('Howdy')
else:
print('Greetings!')
推荐阅读
- c++ - 重新解释二进制格式的 Cast
- java - 在java中使用可选时如何在条件块中放置空检查?
- c# - 您在领域驱动设计中将 DbContext 放在哪里?
- javascript - 寻找环视断言的替代解决方案
- html - 如何在网页中添加视频循环作为背景?
- vue.js - Quasar Icon Genie CLI 将图标从方形裁剪为矩形
- javascript - 错误:html-pdf:在 lambda nodejs 中收到退出代码“127”
- java - Spring Boot 中基于 URL 的 SSL 证书验证
- spring - 在 Spring Webclient 中使用自定义信任库和密钥库
- python - Django IntegrityError 'author_id' 违反非空约束