从函数output..Python3中删除“()”“,”和“'”

时间:2016-11-17 17:50:40

标签: python-3.x

首先,这是代码。 (功能创建还是新的)

功能测试!!

def UserInfo(name, age, birth):
    """Read this by doing UserInfo__doc__"""
    print("Name:",name)
    print("Age:",age)
    print("Birth:",birth)
    return

n_input=input("Name?>> ")
a_input=int(input("Age?>> "))
b_input=input("Birth date?(MM DD YYYY)>> ")

UserInfo(n_input, a_input, b_input)

CodeOutput

('name:', 'Jaymz')
('age:', 25)
('birth:', '02 26 1991')

代码的int部分没有输出“'”(我知道)但仍然带有“()”和“,”...... 字符串部分输出我不希望围绕输出的所有东西...... 你会如何在你的代码中摆脱它?(我通过先了解其他代码来了解人们如何做到这一点)

PS。 Brainfart?....我必须在输出代码上做“格式化”吗?或者只是数字的格式?

1 个答案:

答案 0 :(得分:0)

你得到这个输出是因为你使用的是python 2.x. Python 2认为你正在打印tuple。 Python 3会发布你想要的东西。

正如jojonas建议的那样,使用from __future__ import print_function也适用于所有版本。导入后,您无法使用print括号,这是最好的。

但是......

要处理所有情况,请改用format(使用{}指示要插入的字符串的位置):

def UserInfo(name, age, birth):
    """Read this by doing UserInfo__doc__"""
    print("Name: {}".format(name))
    print("Age: {}".format(age))
    print("Birth: {}".format(birth))

注意:这也有效,但功能不强:

print("Name: "+name)   # would need `str` for integer, ex `str(age)`
print("Name: %s" % name)  # old-style formatting