2011-10-07 82 views
1

我刚开始学习Python(作为第一语言,所以我几乎无所知)并遇到了这个问题。Python:查找并指向字符串的中点

找到一个单词的中点,并使用插入符号“^”指向它。

例,

Computer 
^

感谢您的任何提示任何人都可以给我。

+4

这功课吗? – NPE

+0

是的,所以我不想要确切的代码。请指出我正确的方向。 – apichel

回答

2
text='Computer' 
print(text) 
print('{0:^{1}}'.format('^',len(text))) 
  • {0:...}告诉format,以取代第一 说法,'^'替换本身。
  • {1}被替换为第二个参数len(text)
  • ^{1}告诉format居中文本,并使总宽度 等于len(text)

因此the docs为格式的完整规格。

+1

请注意,str.format只存在于Py 2.7+ – Triptych

+4

'str.format'存在于Python 2.6或更高版本中。 – unutbu

+0

这只是要去到文本的中心。所以它确实解决了我的问题,但是如果我想要说下一个字的第二个字母,我将不得不采用不同的方式来解决它。 – apichel

6

使用len,它找到对象的长度。

>>> x = "Computer" 
>>> x[len(x)/2 - 1] 
'p' 

-

# a.py 
x = "Computer" 
print x 
print (" " * (len(x)/2 - 1)) + "^" 

# % python a.py 
Computer 
^
0

中点取决于字符串的奇数或偶数长度。因此,如果它是一个奇数的长度,那么如果中间长度是偶数,那么中间将完全是len/2 + 1 ,您应该决定什么是中间的(len/2或len/2 +1)

x="Computer" 

if len(x)%2: return x[len(x)/2+1] 

else: return x[len(x)/2]