Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么输入的整数与代码中的整数文字不匹配?_Python - Fatal编程技术网

Python 为什么输入的整数与代码中的整数文字不匹配?

Python 为什么输入的整数与代码中的整数文字不匹配?,python,Python,请给我答案-这个密码有什么问题?我没有看到“ok”这个词,然后是“vvod”=“zagadkaa” import random zagadka = [1,2,3] random.shuffle(zagadka) print ("Please enter number between 1 and 3") zagadkaa = zagadka.pop() vvod = input("Enter number here") if vvod == zagadkaa: print ("ok")

请给我答案-这个密码有什么问题?我没有看到“ok”这个词,然后是“vvod”=“zagadkaa”

import random
zagadka = [1,2,3]
random.shuffle(zagadka)
print ("Please enter number between 1 and 3")

zagadkaa = zagadka.pop()
vvod = input("Enter number here")
if vvod == zagadkaa:
    print ("ok")
else:
    print ("wrong %d"%zagadkaa)
print ("Goodbye")
然后我运行这个脚本,我看到:

Please enter number between 1 and 3
Enter number here1
wrong 1
Goodbye

Process finished with exit code 0

也许你应该用原始输入替换输入。这是输入函数的文档

input([prompt])

Equivalent to eval(raw_input(prompt)).

This function does not catch user errors. If the input is not syntactically valid, a SyntaxError will be raised. Other exceptions may be raised if there is an error during evaluation.

If the readline module was loaded, then input() will use it to provide elaborate line editing and history features.

Consider using the raw_input() function for general input from users.
试试这个:

import random
zagadka = [1,2,3]
random.shuffle(zagadka)
print ("Please enter number between 1 and 3")

zagadkaa = zagadka.pop()
vvod = int(raw_input("Enter number here"))   # make sure we have a number, not a string, and don't eval it.
if vvod == zagadkaa:
    print ("ok")
else:
    print ("wrong %d"%zagadkaa)
print ("Goodbye")

发生了什么?我从变量名开始。你有更具体的问题吗?这对我有用。当我得到正确的号码时,我看到ok,当我得到错误的号码时,我看到ok。嗯,这对我不起作用:请输入介于1和3之间的号码在此输入号码1错误1告别过程结束,退出代码0您在哪个平台/操作系统上?oww!干得好!谢谢但我不明白,我在python手册中提到,它们不需要设置类型的变量:通常您的原始代码可以工作。它在linux和windows下为我工作。我认为您所处的环境是语言/区域设置/操作系统,其中输入的字符串中有一些额外的字符unicode?。或者你进入了一个空间?1不等于1。你可以试着打印它的长度。如果您没有使用Python3 IE,您使用的是Python2.x,我同意neo_blackcap的观点,即您应该使用原始输入。请阅读差异。谢谢!我会检查我的操作系统。实际上,我在linux中测试了这段代码,在这里没有vvod=intinpunter编号的情况下,代码运行良好