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。

TA貢獻2065條經驗 獲得超14個贊
找到第一個空格字符的索引,然后使用字符串切片:
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))

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')
添加回答
舉報