Заменить len в python - PullRequest
       0

Заменить len в python

0 голосов
/ 19 июня 2020

Я бы хотел, чтобы код python выводил тот же результат без использования len? Как мне go это сделать?

rainbow_colors=["red","orange", "yellow", "green", "blue", "indigo", "violet"]
print("THE ORIGINAL COLORS OF THE RAINBOW ARE : " )

for j in range(len(rainbow_colors)):
    print("#",(j+1),":",rainbow_colors[j])

favorite_color = input("Enter your favorite color: ")
new_colors = [sub.replace('blue', favorite_color) for sub in rainbow_colors]

print("THE NEW COLORS OF THE RAINBOW ARE : " )
for k in range(len(new_colors)):
    print("#",(k+1),":",new_colors[k])

Ответы [ 3 ]

2 голосов
/ 19 июня 2020

Вы можете использовать enumerate. Аргумент start указывает индекс, с которого вы хотите начать перечисление.

for color_num, color in enumerate(rainbow_colors, start=1):
    print(color_num, color)
0 голосов
/ 19 июня 2020

Вы можете использовать enumerate(), чтобы получить доступ к индексу текущей итерации вместе со значением итерации:

rainbow_colors=["red","orange", "yellow", "green", "blue", "indigo", "violet"]

print("THE ORIGINAL COLORS OF THE RAINBOW ARE : " )

for i,j in enumerate(rainbow_colors):
    print("#",(i+1),":",j)

favorite_color = input("Enter your favorite color: ")

new_colors = [favorite_color if sub is 'blue' else sub for sub in rainbow_colors]

print("THE NEW COLORS OF THE RAINBOW ARE : " )

for i,j in enumerate(new_colors):
    print("#",(i+1),":",j)

Вывод:

THE ORIGINAL COLORS OF THE RAINBOW ARE : 
# 1 : red
# 2 : orange
# 3 : yellow
# 4 : green
# 5 : blue
# 6 : indigo
# 7 : violet
Enter your favorite color: pink
THE NEW COLORS OF THE RAINBOW ARE : 
# 1 : red
# 2 : orange
# 3 : yellow
# 4 : green
# 5 : pink
# 6 : indigo
# 7 : violet
0 голосов
/ 19 июня 2020
rainbow_colors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]
print("THE ORIGINAL COLORS OF THE RAINBOW ARE : ")

for index, element in enumerate(rainbow_colors):
    print(f'# {index + 1} : {element}')

favorite_color = input("Enter your favorite color: ")
new_colors = [sub.replace('blue', favorite_color) for sub in rainbow_colors]

print("THE NEW COLORS OF THE RAINBOW ARE : ")
for index, element in enumerate(new_colors):
    print(f'# {index + 1} : {element}')

Вы можете использовать функцию перечисления. Он проходит по списку и принимает позицию (индекс) и соответствующее значение. Он намного чище и не требует использования функции len ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...