Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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,我是Python的新手。泽德·肖先生正在做一个关于学习的练习。 我一直被这个问题困扰着 代码如下: age=input("How old are you?"); height=input("How tall are you?"); weight=input("How much do you weight?"); print ("age = %r height = %r weight = %r" %(age,height,weight)) 其输出: D:\Python>python sam

我是Python的新手。泽德·肖先生正在做一个关于学习的练习。 我一直被这个问题困扰着

代码如下:

age=input("How old are you?");
height=input("How tall are you?");
weight=input("How much do you weight?");
print ("age = %r height = %r weight = %r" %(age,height,weight))
其输出:

D:\Python>python sample1.py
How old are you?22
How tall are you?182
How much do you weight?178
age = '22\r' height = '182\r' weight = '178\r'
我不明白,这是怎么回事,我的输出是“\r”?
请帮忙

看起来您正在使用Python 3。在Python3中,
input()
函数返回一个字符串,该字符串就是您在提示符处键入的字符串。在Python2中,
input()
函数返回一个经过计算的表达式,在您的情况下,如果键入一个数字,该表达式将是一个整数

您有三个基本选择:

  • 查找使用Python 3的教程
  • 安装Python 2以便与当前教程一起使用
  • 使用
    eval(输入(…)

在某些系统上,一个
换行符
字符(语言理解您点击了
回车键的方式)是通过出现
\n
(更常见的称为换行符)或
\r
(更常见的称为返回字符)或两者

在各种操作系统的开发历史上,有些人开始使用
\n
,有些人开始使用
\r
(事实上,有些人同时使用这两种操作系统,即
\r\n
)。这就是为什么在一些真正低级的C程序中,必须检查
CR
LF
,顺便说一下,这是受到打字机上
回车
换行
操作的启发

因此,您真正需要做的是从每行末尾同时删除
\r
\n
(以存在的为准)

然而,可能并不总是清楚使用了哪些,但幸运的是python为您提供了一种处理方法,即
strip
函数,它处理
\r
\n
的所有可能组合


希望这对Python代码中的分号有所帮助!顺便说一句,这仅适用于Python3.x。在Python2.7上,
input()
正确地将
'\r\n'
解析为换行符,而不仅仅是
'\n'
。有人知道为什么吗?虽然%r而不是%s,或者更好的是,使用string的format()方法?@NullUserException,但实际上我没有使用分号,但当我尝试使用可能出现的不同错误时,我发现分号被接受了!!是的,但是我不会用它:)。。。或者
int(input(…)
在这种情况下。但是,如果您在windows上的Python3(或2)中键入一些内容并按enter键,您将不会得到任何\r\n或\n。@Greg,您能给我推荐一些好的Python3.0书籍吗?如果我得到它,我将非常感谢:)。还有,哪种方式是获得输入的最佳方式???@Jochen Ritzel:我不太确定。目前我手头没有一台Windows机器可以尝试,而且我所有的其他机器都没有输入任何换行符。