Skip to main content
 首页 » 编程设计

python之学习 Python 并尝试获取字符串的前两个字母和后两个字母

2025年05月04日19JeffreyZhao

这是我的代码:

# B. both_ends 
# Given a string s, return a string made of the first 2 
# and the last 2 chars of the original string, 
# so 'spring' yields 'spng'. However, if the string length 
# is less than 2, return instead the empty string. 
def both_ends(s): 
  if len(s) <= 2: 
    return "" 
  else: 
    return s[0] + s[1] + s[len(s)-2] + s[len(s-1)] 
  # +++your code here+++ 
  return 

不幸的是我的程序没有运行。 :( 我确定我忽略了一些东西,因为我是 Python 的新手。

这是错误:

> Traceback (most recent call last): 
  File "C:\Users\Sergio\Desktop\google-python-exercises\google-python-exercises\basic\string1.py", line 120, in <module> 
    main() 
  File "C:\Users\Sergio\Desktop\google-python-exercises\google-python-exercises\basic\string1.py", line 97, in main 
    test(both_ends('spring'), 'spng') 
  File "C:\Users\Sergio\Desktop\google-python-exercises\google-python-exercises\basic\string1.py", line 44, in both_ends 
    return s[0] + s[1] + s[len(s)-2] + s[len(s-1)] 
TypeError: unsupported operand type(s) for -: 'str' and 'int' 

谢谢大家的帮助。 :D

请您参考如下方法:

错位的括号:

return s[0] + s[1] + s[len(s)-2] + s[len(s)-1] 

顺便说一句:

return s[0] + s[1] + s[-2] + s[-1] 

或

return s[:2] + s[-2:]