写一个遍历 names 列表以创建 usernames 列表的 for 循环。要为每个姓名创建用户名,使姓名全小写并用下划线代替空格。对以下列表运行 for 循环:
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
应该会创建列表:
usernames = ["joey_tribbiani", "monica_geller", "chandler_bing", "phoebe_buffay"]
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = []
for i in range(len(names)):
usernames[i] = names[i].lower()
x = usernames[i].find(' ')
usernames[i] = usernames[:i] + '_' + usernames[i:]
print(usernames)
Traceback (most recent call last):
File "vm_main3.py", line 47, in
import main
File "/tmp/vmuser_wkodhsoirj/main.py", line 2, in
import studentMain
File "/tmp/vmuser_wkodhsoirj/studentMain.py", line 1, in
import usernames
File "/tmp/vmuser_wkodhsoirj/usernames.py", line 4, in
usernames[i] = names[i].lower()
IndexError: list assignment index out of range
你的写法,逻辑有些乱
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = []
for i in range(len(names)):
username = names[i].lower()
x = username.find(' ')
usernames.append(username[:x] + '_' + username[x:])
print(usernames)
把变量命名改一下, 看起来会清晰一些
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
username_list = []
for i in range(len(names)):
username = names[i].lower()
x = username.find(' ')
username_list.append(username[:x] + '_' + username[x:])
print(username_list)
索引超范围了,空列表添加元素用append函数,别直接赋值
望被采纳
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = []
for name in names:
new_name = name.lower().replace(" ", "_")
usernames.append(new_name)
print(usernames)