如何用F-string实现重复字符串打印?我的写法为何无效?
问题解答
你的写法存在错误,用F-string实现重复字符输出是完全可行的。
你当前的代码把'#'*{a}当成了普通字符串内容,F-string只会替换大括号里的a为5,所以最终输出的是'#'*5这个字符串本身,而非执行乘法操作后的结果。
正确的写法是把字符重复的表达式放在F-string的大括号中,让Python执行该表达式后再插入到字符串里:
a = 5 print(f"{'#' * a}")
运行后就能得到输出#####。
更简洁的写法也可以直接将乘法操作与F-string结合,不需要额外嵌套引号:
a = 5 print(f'#' * a)
这个写法本质是先生成F-string的基础字符串'#',再和a执行乘法操作,结果和print('#'*a)一致,同样能满足需求。
内容的提问来源于stack exchange,提问作者Paul-ET
相关产品推荐
相关产品推荐

