Формат примера строки f - PullRequest
       37

Формат примера строки f

1 голос
/ 26 апреля 2020

У меня есть пример f строк в учебнике, это функция, цель которой состоит в том, чтобы взять список и напечатать перечисленный список, я не понимаю, как работает код, но знаю, что он работает нормально. Я хотел бы понять несколько вещей об этом коде:

import random
OPTIONS = ['rock', 'paper', 'scissors']

def print_options():
    print('\n'.join(f'({i}) {option.title()}' for i,option in enumerate(OPTIONS)))


print_options()

output:

(1) Rock
(2) Paper
(3) Scissors

Строка проблемы - это тело функции. Я хотел бы посмотреть, как изменить строку, но сохранив метод f-строки, чтобы пропустить перечисление, например,

желаемый результат:

Rock
Paper
Scissors

Все, что я могу думать, это:

def _print_choices():
    print('\n.join(f'({choice.title()}))' for choice in choices)

print_choices()

То, что я вижу по количеству красного в редакторе, даже не стоит запускать.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020
def print_options():
    print('\n'.join(option.title() for option in OPTIONS))

# output: 
# Rock 
# Paper 
# Scissors

Поскольку вы не хотите индексировать, f-строка и перечисление могут быть полностью удалены.

1 голос
/ 26 апреля 2020
OPTIONS = ('Rock', 'Paper', 'Scissors')
def _print_choices(OPTIONS, sep='\n'):
    print(sep.join([f'{choice.title()}' for choice in OPTIONS]))

Выход:

>>> _print_choices(OPTIONS, '\n'):
Rock
Paper
Scissors
...