为了账号安全,请及时绑定邮箱和手机立即绑定

Python 在不使用方法的情况下选择字符串中的第一个单词

Python 在不使用方法的情况下选择字符串中的第一个单词

慕尼黑8549860 2022-12-20 09:46:00
我有一个家庭作业,我必须选择字符串中的第一个单词。通常我会这样做:s = "Hello World"words = s.split()first_word = words[0]print(first_word)对于此作业,我不能使用方法或循环来回答问题。有任何想法吗?
查看完整描述

4 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

由于您不能使用方法和循环,因此可以使用递归来完成。


def r(a, b=''):

     if len(a) == 0 or a[0] == ' ':

         return b

     return r(a[1:], b + a[0])


s = 'Hello World'

print(r(s))

会打印Hello。


查看完整回答
反对 回复 2022-12-20
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

找到第一个空格字符的索引,然后使用字符串切片:


s = "Hello World"


print(s[:s.index(' ')])

没有循环,但确实使用了.index()方法......


也可以尝试递归函数:


s = "Hello World"



def first_word(string):


    if string[0] == ' ':

        return ''

    else:

        new_string = string[0] + first_word(string[1:])

    return new_string



print(first_word(s))


查看完整回答
反对 回复 2022-12-20
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

这可能没问题

s = "Hello World"
s.split()[0]

但是没有任何方法的方法可能是

s[0:5]


查看完整回答
反对 回复 2022-12-20
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

这个递归与 MacieK 的非常相似:


(编辑以允许非空格字分隔符)


def hello(s):


    delims = ' ,-'


    if s == '' or s[:1] in delims: return


    print(s[:1], end='')


    hello(s[1:])


hello('Hello, World')


查看完整回答
反对 回复 2022-12-20
  • 4 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信