这是我当前的代码。打印将在“!”之前放置一个空格我在论坛上搜索了一个小时,但现在对我来说一切都太复杂了。这是一个愚蠢的问题,但我必须知道为什么在逗号后添加这个随机空间。如何在逗号后不打印空格
fn = input("What's your First Name? ")
ln = input("What's your Last Name? ")
print ('Hello,',fn, ln,'!')
这是我当前的代码。打印将在“!”之前放置一个空格我在论坛上搜索了一个小时,但现在对我来说一切都太复杂了。这是一个愚蠢的问题,但我必须知道为什么在逗号后添加这个随机空间。如何在逗号后不打印空格
fn = input("What's your First Name? ")
ln = input("What's your Last Name? ")
print ('Hello,',fn, ln,'!')
当你打印一个字符串列表python插入一个空格。
$ python3
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 08:49:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('My','name','is','doug')
My name is doug
>>> print('My'+'name'+'is'+'doug')
Mynameisdoug
你想要将你的元素结合成单个字符串OR(更好的方法)使用字符串格式化输出。
>>> fn = "Bob"
>>> ln = "Jones"
>>> msg = "Hello, "+fn+" "+ln+"!"
>>> print(msg)
Hello, Bob Jones!
>>> msg = "Hello, {0} {1}!".format(fn,ln)
>>> print(msg)
Hello, Bob Jones!
>>>
这是一个愚蠢的问题,但我要知道为什么它是一个逗号后加入这个随机 空间。
打印的默认设置是这样的,即逗号在其后面添加空格。这里!
之前去除空间
一种方法是这样做的:
print('Hello,',fn, ln, end='')
print('!')
Out : Hello, First Last!
这里end=
指定了应当在打印()语句而不是default newline
末进行打印。
另一种更简单的方法是只给concatenate
这个字符串。即,
print('Hello,',fn, ln + '!')
这是格式化字符串的工作。
的Python 3:
print('Hello {} {}!'.format(fn, ln))
的Python 2:
print 'Hello %s %s!' % (fn, ln)
在Python 3.6,你可以使用f
字符串这非常可读的,比其他格式的方法稍快:
print(f'Hello {fn} {ln}!')
您可以采取的感叹号(ln
)之前的元素并连接所有的'!'
到最后:
fn = input("What's your First Name? ")
ln = input("What's your Last Name? ")
print ('Hello,', fn, ln + '!')
,并提供:
Hello, Fist Last!
的print()
声明文档指出:
所有非关键字参数将转换为像STR字符串()不和写入流,由九月
分离,因为在默认情况下,sep
是一个空间(' ')
,你每个参数之间得到空间你通过了function
。如上所述,如果您自己将感叹号连接到ln
,则不会插入默认的sep
参数,并且您将不会获得空间。
将'ln'转换为字符串是不必要的,因为'ln'已经是一个字符串 –
@KaushikNP我在添加文档时意识到这一点!谢谢 :) –