Python如何将首字母重复内容与倒序姓氏结果打印在同一行
问题根源
- Python内置的
print()函数默认会在输出内容末尾自动添加换行符\n,你循环内每次调用print()打印首字母,自然会每个字母占一行 - 额外优化提示:
input()函数返回值本身就是字符串类型,不需要额外套str()做类型转换
最优修改方案
Python的字符串支持直接和整数相乘,实现重复拼接效果,完全可以省去循环,代码更简洁:
firstname = input("Give your first name: ") lastname = input("Give your last name: ") # 首字母重复名字长度次 repeat_first_char = firstname[0] * len(firstname) # 切片反转姓氏 reversed_lastname = lastname[::-1] # 用f-string格式化输出想要的格式 print(f"{firstname} {lastname} = {repeat_first_char} {reversed_lastname}")
保留循环逻辑的修改方法
如果你想练习循环和函数封装,可以把循环生成的字符拼进一个变量里,最后统一打印:
def repeat_first_char(name): result = "" for _ in range(len(name)): result += name[0] return result firstname = input("Give your first name: ") lastname = input("Give your last name: ") repeat_part = repeat_first_char(firstname) reverse_part = lastname[::-1] print(f"{firstname} {lastname} = {repeat_part} {reverse_part}")
两种方案输入示例值Jack和Dullname后,都能得到预期输出:Jack Dullname = JJJJ emanlluD
内容的提问来源于stack exchange,提问作者JmP
相关产品推荐
相关产品推荐

