Python 中的字符串迭代
String Iteration in Python
所以我要解决的问题是
"Print the first 4 letters of name on new line [name = 'Hiroto']"
我找到了解决方案,但我想知道是否有办法使用索引值来解决同样的问题,使其适用于我使用的任何名称。
name = "Hiroto"
new_name = " "
for letter in name:
if letter != "t":
new_name = new_name + letter
if letter == "t":
print(new_name)
您可以使用切片运算符。 string[i:j]
将 return 一个新字符串,其中包含从索引 i
到索引 i
的字符,但不包括索引 j
.
处的字符
示例:
>>> name = "Hiroto"
>>> print(name[0:4])
将打印:
Hiro
你正在做的是将字符连接成一个变量,你的条件是直到你点击 't',在你的例子中是第 5 个字母,所以这只适用于那个名字。
正如其他人指出的那样,您可以使用 name[0:4](从索引 0 到 4),您甚至可以忽略 0 并使用 name[:4]。此操作称为切片。
但是如果你想保持与你的解决方案相同的逻辑,你可以只使用一个计数器变量。我创建了一个接收名称和 returns 前 4 个字母的函数:
def first_4_letters(name):
new_name = ""
count = 0
while count < 4:
new_name = new_name + name[count]
print(first_4_letters('Hiroto'))
您也可以使用这种替代方式...
name = "Hiroto"
i=0
while i < len(name):
print(name[i])##Hiro
i=i+1
if i==4:
break
当您的字符串到达索引 (i==4) 时,它会中断循环并退出...
所以我要解决的问题是
"Print the first 4 letters of name on new line [name = 'Hiroto']"
我找到了解决方案,但我想知道是否有办法使用索引值来解决同样的问题,使其适用于我使用的任何名称。
name = "Hiroto"
new_name = " "
for letter in name:
if letter != "t":
new_name = new_name + letter
if letter == "t":
print(new_name)
您可以使用切片运算符。 string[i:j]
将 return 一个新字符串,其中包含从索引 i
到索引 i
的字符,但不包括索引 j
.
示例:
>>> name = "Hiroto"
>>> print(name[0:4])
将打印:
Hiro
你正在做的是将字符连接成一个变量,你的条件是直到你点击 't',在你的例子中是第 5 个字母,所以这只适用于那个名字。
正如其他人指出的那样,您可以使用 name[0:4](从索引 0 到 4),您甚至可以忽略 0 并使用 name[:4]。此操作称为切片。
但是如果你想保持与你的解决方案相同的逻辑,你可以只使用一个计数器变量。我创建了一个接收名称和 returns 前 4 个字母的函数:
def first_4_letters(name):
new_name = ""
count = 0
while count < 4:
new_name = new_name + name[count]
print(first_4_letters('Hiroto'))
您也可以使用这种替代方式...
name = "Hiroto"
i=0
while i < len(name):
print(name[i])##Hiro
i=i+1
if i==4:
break
当您的字符串到达索引 (i==4) 时,它会中断循环并退出...