Python提供了一个名为len的内置函数,它返回一个字符串的长度,因此len('allen')
的值为5
。
编写一个名为right_justify
的函数,它将一个名为s
的字符串作为参数,并打印带有足够前导空格的字符串,以便字符串的最后一个字母位于显示的第70列。< / p>
>>> right_justify('allen')
allen
我解决了这个问题:
def right_justify(s):
print " " + s
right_justify('allen')
是不是?
是否有内置的Python方法来完成我需要做的事情?
答案 0 :(得分:8)
使用string formatting非常容易:
def right_justify(s):
print "%70s" % s
答案 1 :(得分:3)
使用format
:
In [60]: strs="allen"
In [61]: format(strs,">70s")
Out[61]: ' allen'
In [62]: format(strs,">70s").index('n')
Out[62]: 69
或使用str.format
:
In [68]: "{0:>70s}".format(strs)
Out[68]: ' allen'
答案 2 :(得分:2)
当然,这里有一个巧妙的小技巧:
def right_justify(s, total_length=70):
return ' ' * (total_length - len(s)) + s
如果不是很清楚,这将打印出total_length - 空白空间的长度。
答案 3 :(得分:1)
我会做这样的事情,这是许多简单的方法之一:
def right_just(s):
print(s.rjust(70))
right_just('allen')
答案 4 :(得分:0)
我不会为你做功课,但这是一个简单的算法:
找出你的字符串有多长(提示:len()
)。
找出需要打印的空格数(提示:如果你的字符串是5个字符,总长度应该是70,你想打印65个空格)。
打印空格。
打印字符串。
答案 5 :(得分:0)
def right_justify(s):
print((70-len(s))*' '+s)
答案 6 :(得分:0)
def right_justify(s):
print len(s)
print ' '* (70 - len(s)) + s
word = raw_input('enter any word')
right_justify(word)
答案 7 :(得分:0)
def right_justify(s):
... length=len(s)
... spaces=70-length
... print (' ' * spaces) + s
...
>>> right_justify('allen')
答案 8 :(得分:0)
def right_justify(s):
print ('')
print ('Number of chars: ' + str(len(s)))
print ('')
print (' '* (70 - len(s)) + s)
word = input('Enter any word: ')
right_justify(word)
答案 9 :(得分:0)
def right_justify (s):
x = ' '
w = (70-len(s))*x + s
print (w)
答案 10 :(得分:0)
也许我误解了这个问题,但似乎只有在变量长度为一个字符时,给出的答案才会给出正确的结果。 我对编码也很陌生,所以这可能会偏离基础。
def right_justify(s):
length = len(s)
adjustedLength = len(s) -1
spaces = 70 - length + adjustedLength
print(spaces * " " + "s")
s = "whatever you want to enter"
right_justify(s)
我这样做,所以无论定义什么,你得到69个空格然后&#34; s&#34;。
如果这是错的,请告诉我,这样我就可以调整自己的思维方式。
答案 11 :(得分:0)
def right_justify(s):
length =len(s)
spaces = 70-length
print((" " * spaces) + s)
word = "monty"
right_justify(word)
定义后,长度取决于所选单词,而不是(s)...所以你创建公式。长度,空格和打印应缩进。 必须发明变量,以便将单词从str转换为可变格式。
答案 12 :(得分:0)
这是工作代码
def right_justify(s):
length = len('s')
spaces = 70 - length
print "required space is",spaces
print(" " * spaces) + s
right_justify('allen')
输出
required space is 69
allen
答案 13 :(得分:0)
只是想到了使它更具动态性的另一种方法:)
def right_justify(s,num)
print(s.rjust(num))
right_justify(“艾伦”,50)
答案 14 :(得分:0)
要使最后一个字母出现在第70列中,您需要从70中减去s
的长度,就像这样
def right_justify(s):
print(" " * (70 - (len(s)) + s)