Pyschool测验--字符串拼接

2 投票
3 回答
2209 浏览
提问于 2025-04-17 05:28

这是一个测验问题:

把两个字符串加在一起,或者制作多个相同字符串的副本。

例子:

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) * '_'

撰写回答