【发布时间】:2020-04-26 13:52:00
【问题描述】:
我在教科书中有一个 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()
输出:
(1) Rock
(2) Paper
(3) Scissors
问题行是函数的主体。我想看看如何修改该行但保留 f-string 方法以省略枚举,例如
想要的输出:
Rock
Paper
Scissors
我能想到的只有:
def _print_choices():
print('\n.join(f'({choice.title()}))' for choice in choices)
print_choices()
从编辑器中的红色数量可以看出,我什至不值得运行。
有什么想法吗?
【问题讨论】:
-
下面的答案是正确的,但仅供参考:您不需要 f 字符串、
title()方法甚至函数定义。只需print('\n'.join(option for option in OPTIONS))或没有列表理解或需要\n:for option in OPTIONS: print(option)。 -
嗨,杰克,谢谢。我只是想看看如何在一个更简单的示例中使用 f-string 方法,以便我可以理解书中的示例。你是完全正确的,不需要 f 字符串提供我需要的输出它只是为了帮助我学习 f 字符串,因为在 Richard 和埃里克的回答。
标签: python f-string format-string