我是Python的新手。在Zed Shaw先生的LearnPythonTheHardWay中进行锻炼。 我一直坚持这个问题
这是代码:
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”? 请帮忙!!!
答案 0 :(得分:4)
看起来你正在使用Python 3.在Python 3中,input()
函数返回一个字符串,这是你在提示符下输入的内容。在Python 2中,input()
函数返回一个已计算的表达式,在您的情况下,如果键入数字则为整数。
您有三个基本选择:
input()
eval(input(...))
答案 1 :(得分:0)
在某些系统中,newline
字符(语言理解您点击enter
键的方式)的出现是\n
的出现(更常见)称为换行符或\r
(通常称为返回字符)或两者兼而有之。
在各种操作系统开发历史的某个时候,有些人占用了\n
而有些人占用了\r
(实际上有些人使用了\r\n
。这就是为什么在一些非常低级别的C程序中,你必须检查CR
和LF
,顺便说一下,它受到carriage return
和line feed
的启发对打字机的操作。
因此,您真正需要做的是从每行的末尾删除\r
和\n
(无论哪个存在)。
然而,可能并不总是很清楚使用哪个,但幸运的是python为您提供了一种处理方法,即strip
函数,它处理\r
和{{的所有可能组合。 1}}。
希望这有帮助