Python不使用列表实现10个名字的限定多行输入及大小写格式化
输入10个名字并格式化的解决方案
需求:编写不使用列表的Python程序,输入10个名字,将每个名字转为小写后首字母大写。
原程序问题分析
- 第一个程序仅支持单行输入,换行即判定输入结束,无法处理多行输入的10个名字:
text=input() x=text.split() for name in x: x=name.lower().capitalize() print(x) - 第二个程序通过
sys.stdin.readlines()读取输入,但无法自动限制输入行数,必须手动用Ctrl+Z终止输入:import sys text=sys.stdin.readlines() for esm in text: x=esm.lower().capitalize() print(x)
可行解决方案
直接通过循环执行10次,每次读取一个输入并处理,无需使用列表,且自动限制输入数量:
for _ in range(10): name = input().strip() formatted_name = name.lower().capitalize() print(formatted_name)
代码说明
range(10)确保循环执行恰好10次,对应输入10个名字;input().strip()读取每行输入并去除前后的空白字符(如换行符、多余空格);lower().capitalize()先将名字转为全小写,再将首字母转为大写,其余保持小写;- 处理后的名字直接输出,无需存储到列表中。
内容的提问来源于stack exchange,提问作者Annahita
相关产品推荐
相关产品推荐

