Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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的初学者(之前有Java的经验),我正在创建一个简单的OOP程序。这是我的班级: from Tools.scripts.treesync import raw_input class Info: def startGame(self): name = raw_input('What is your name?\n') age = raw_input("What is your age?\n") color = ra

所以我是Python的初学者(之前有Java的经验),我正在创建一个简单的OOP程序。这是我的班级:

from Tools.scripts.treesync import raw_input


class Info:

    def startGame(self):
        name = raw_input('What is your name?\n')
        age = raw_input("What is your age?\n")
        color = raw_input("What is your favorite color\n")
        print("Your name is %s, your age is %s, and your favorite color is %s" % (name, age, color))
        return Info


class App:

    def build(self):
        game_app = Info()
        game_app.startGame()
        return game

if __name__ == "__main__":
    obj = App()
    game = Info()
    obj.build()
这是输出:

Your name is Chris
, your age is 18
, Sand your favorite color is Red

我不明白为什么要打印3行?有没有办法将其打印到一行上?

您使用的是
raw\u input
,它包括字符串的一行结尾,您只需使用
input()
即可获得没有行结尾的字符串。

您导入的
raw\u input
将CRLF保留在您输入的输入中。为什么不使用内置的
input()
函数(您使用的是Python 3,对吗)


此外,Python不是Java。不需要将所有内容都放在类中。

工具、脚本、树同步、原始输入和标准库原始输入(应该去掉换行符)之间有什么区别?您发布的内容都不是Javascript。请不要将其作为Javascript代码段发布。您应该使用
input
而不是
raw\u input
,或者使用
name.strip()
删除尾随的换行符(也适用于其他变量)。否决的原因是什么?OP没有使用内置的
raw_input()
——Python 3中没有,而且他使用的
print()
语法表明这就是他正在使用的。我也在想同样的问题(顺便说一句,我没有投反对票)。这个答案不也是正确的吗?很抱歉,错过了
raw\u输入
import.@Waldxn:类不应该用作函数的保持器。Java之所以这样做,是因为Java程序的结构不灵活。类实例支持的操作应该是类的方法,一些密切相关的函数(如替代构造函数)可能适合作为类方法或staticmethods,但如果您只想在某个地方将一组函数组合在一起,这就是模块的用途。通常,您将函数存储在模块中(每个Python文件都是一个模块)。向类中添加函数对于对象方法来说是有意义的,即只对特定对象有用的方法。在您的例子中,类除了包含函数之外什么都不做——Python不是这样“工作”的。对于复杂对象可能会有所不同,但您的问题太宽泛,无法在注释中给出答案:)这不是标准的
raw\u input()
,而是从库中导入的内容。
>>> from Tools.scripts.treesync import raw_input
>>> raw_input("> ")
> abc
'abc\n'
>>> input("> ")
> abc
'abc'