变量设置为随机数,然后打印,然后输入,正确输入(变量)打印x

时间:2016-06-12 20:54:44

标签: python

好的,这是尝试做的事情。

  1. 正在创建一个随机数。
  2. 打印它。
  3. 提示用户输入已打印的号码。
  4. 然后'如果'输入的数字=打印的数字(变量)x将会发生。
  5. 好吧很困惑,希望你没有。

    import random
    var = random.randint(1000,9999)
    print(var)
    ask = input('Please enter pin. ')
    if ask == var :
        print('thank you')
    

    然后打印数字,但输入时没有任何反应。 谢谢

4 个答案:

答案 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")'
    });
});