Pyschool测验--字符串拼接
这是一个测验问题:
把两个字符串加在一起,或者制作多个相同字符串的副本。
例子:
greetings = "Hello World"
len(greetings) # 获取字符串的长度
11
greetings[0] # 获取第一个字符
'H'
print underline("Good Day")
Good Day ________
# 写一个函数,给定一个字符的字符串,返回这个字符串和同样长度的'_'。
我第一次尝试是:
def underline(title):
print title
print len(title) * '_'
...虽然在视觉上看起来还不错,但返回了一个'None'值。 (知道为什么会这样吗?)所以我又尝试了:
def underline(title):
print title, \nlen(title) * '_'
...结果出现了“行继续字符后面有意外字符”的错误。在这里转向,因为谷歌对这个错误的帮助不大。
3 个回答
0
我在做pyschool的一个练习题时,遇到了这个问题。
答案:
def underline(title):
return title + '\n' + '_' *l en(title)
2
引用你的换行符
def underline(title):
print title, '\n', len(title) * '_'
Jeff提到的很对(这就是为什么你的语句返回的是None
),我想说明一下导致这个行继续错误的原因。
正如错误信息所说,行继续符号\
后面不应该有任何字符哦 :)
3
其实你不想把那些字符串直接打印出来,而是想返回它们。
所以你可以创建一个新的字符串,把它们合在一起(用换行符分开),然后返回这个字符串。
def underline(title):
return title + '\n' + len(title) * '_'