好的,这是尝试做的事情。
好吧很困惑,希望你没有。
import random
var = random.randint(1000,9999)
print(var)
ask = input('Please enter pin. ')
if ask == var :
print('thank you')
然后打印数字,但输入时没有任何反应。 谢谢
答案 0 :(得分:0)
问题是您的输入是一个字符串,您可以将其与int进行比较。这应该工作:
if int(ask) == var :
print('thank you')
另一种方法是将变量直接转换为int(如Alex.S和cricket_007所指出的)。如果稍后再次将变量用作整数,则更好。如果您想稍后将ask
用作字符串,第一种方式会更好。这看起来像这样:
ask = int(input('Please enter pin. '))
if ask == var :
print('thank you')
再次感谢cricket_007指出,非数字值会使此代码崩溃。为避免这种情况,您可以使用isnumeric()
功能进行检查:
ask = input('Please enter pin. ')
if not ask.isnumeric():
print('Invalid input')
exit()
ask = int(ask)
如果用户输入的内容不是数字,则会在提示消息后退出而不会出现错误。
答案 1 :(得分:0)
您必须将输入变量转换为数字:
ask = int(input('Please enter pin. '))
答案 2 :(得分:0)
您的代码在Python 2.7中可以正常工作。但是,在Python 3中,您需要执行以下操作:
if int(ask) == var:
print('thank you')
答案 3 :(得分:0)
将输入转换为int的建议很好,但前提是您要在输入中输入数字。否则,代码将出错。
防止这种情况的方法是切换已投射的变量
chrome.webNavigation.onCompleted.addListener(function(details) {
chrome.tabs.executeScript(details.tabId, {
code: 'console.log("A")'
});
});