ThinkPython2习题3.1:right_justify函数右对齐至第70列技术问询
解答《ThinkPython2》习题3.1:right_justify函数
先明确「列位置」的标准:这里的第70列是终端/控制台的通用字符计数规则——从屏幕最左侧第1列开始,每个字符(包括空格、字母等)占据1列。要让字符串最后一个字符落在第70列,本质就是让「前导空格 + 目标字符串」的总长度等于70,这样最后一个字符刚好卡在第70列的位置。
接下来是函数的实现,完全贴合题目提示的思路,用字符串重复、拼接和len()函数就能轻松搞定:
def right_justify(s): # 计算需要的前导空格数:目标总长度70减去字符串本身的长度 leading_spaces = 70 - len(s) # 重复空格对应次数,和原字符串拼接后打印 print(' ' * leading_spaces + s)
测试一下的话,调用right_justify('monty'),就会输出65个空格加上'monty',总长度刚好70,最后一个'y'精准落在第70列。如果想验证长度是否正确,可以稍微调整函数,先输出总长度再返回结果:
def right_justify(s): leading_spaces = 70 - len(s) result = ' ' * leading_spaces + s print(f"总长度验证:{len(result)}") # 会输出70 return result
习题原文回顾:
练习3.1 编写一个名为right_justify的函数,接受一个名为s的字符串作为参数,输出该字符串并添加足够的前导空格,使字符串的最后一个字符位于显示区域的第70列。
提示:使用字符串拼接和重复操作。此外,Python提供内置函数len用于返回字符串长度,例如len('monty')的返回值为5。
内容的提问来源于stack exchange,提问作者Daniel Moisio
相关产品推荐
相关产品推荐

