寻求更好地说明如何实现以下说明。
# loop while i is less than the length of name and the i-th character is not a space. # return the part of name up to but not including the i-th character to the caller.
def get_first_name(name):
i = 0
while i < len(name) and '' in str(i):
i += 1
return name
答案 0 :(得分:0)
Python中的字符串是序列,您可以使用name[i]
之类的符号进行索引。因此,您可以逐个字符循环字符串,并与空格字符' '
保持比较。每次敲击不是空格的字母时,请将其附加到临时字符串中。一旦你碰到一个空格,停止循环,你的临时字符串的值将代表他们的名字。
def get_first_name(name):
first = ''
i = 0
while i < len(name) and name[i] != ' ':
first += name[i] # append this letter
i += 1 # increment the index
return first
实施例
>>> get_first_name('John Jones')
'John'
答案 1 :(得分:0)
我没有实现你的功能,只是解释逻辑,因为我相信这是你的一部分练习。
您的情况可以写成:
name = "Hello World"
i = 0
# len(name): will return the length of `name` string
# name[i] != " ": will check that item at `i`th position is not blank space
while i < len(name) and name[i] != " ":
print name[:i+1] # print string from start to the `i`th position
i += 1
将打印:
H
He
Hel
Hell
Hello
现在,我想你知道如何将这个逻辑放在你的函数中以及返回哪个值;)
答案 2 :(得分:0)
感谢您的建议,使用它们我已经能够使我的代码符合我要求的规范。
function getDiContainer()