在python中打印文本和变量时如何去掉空格

use*_*504 3 python printing space python-3.x

我想让用户输入他的姓名/年龄,然后输出十年后的姓名和年龄。我是这样设置的:

    print("Let's find out how old you will be in 10 Years.\n")
    name = input("name: ")

    print("\nNow enter your age,",name,"\n")
    age = int(input("age: "))

    ageinten = age + 10

    print("\n",name,"you will be",ageinten,"in ten years.")

    input("Press Enter to close")
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

    Let's find out how old you will be in 10 Years.

    name: Example

    Now enter your age, Example 

    age: 20

     Example you will be 30 in ten years.
    Press Enter to close
Run Code Online (Sandbox Code Playgroud)

但我希望它没有示例前的空格:

    Example you will be 30 in ten years.
    Press Enter to close
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助解决这个问题吗?

Ash*_*ary 5

更好地使用字符串格式

print('\n{} you will be {} in ten years.'.format(name, ageinten))
Run Code Online (Sandbox Code Playgroud)

或使用sep='',但是您必须在字符串中添加尾随和前导空格。:

print("\n", name, " you will be ", ageinten, " in ten years.", sep='')
Run Code Online (Sandbox Code Playgroud)

默认值sep是一个空格,这就是你得到一个空格的原因。

演示:

>>> name = 'Example'
>>> ageinten =  '20'
>>> print("\n",name," you will be ",ageinten," in ten years.", sep='')

Example you will be 20 in ten years.
>>> print('\n{} you will be {} in ten years.'.format(name, ageinten))

Example you will be 20 in ten years.
Run Code Online (Sandbox Code Playgroud)