如何整合现有Python代码实现循环提示用户输入10位长度字符串
代码整合方案
核心逻辑
复用你已经编写完成的string_length函数做长度校验,通过死循环持续接收用户输入,直到输入长度符合10位要求后终止循环,输出指定位置的内容。原有两个工具函数不需要做任何修改,仅新增业务逻辑层即可,耦合度最低。
完整可运行代码
# 字符频率统计函数(原有代码) def char_frequency(str1): char_dict = {} for n in str1: keys = char_dict.keys() if n in keys: char_dict[n] += 1 else: char_dict[n] = 1 return char_dict # 手动计算字符串长度函数(原有代码) def string_length(str1): count = 0 for char in str1: count += 1 return count # 新增循环校验逻辑 while True: user_input = input("请输入10位长度的字符串:") input_len = string_length(user_input) if input_len == 10: # Python索引从0开始,第3位对应索引2,第10位对应索引9,切片左闭右开所以写[2:10] print("第3位至第10位内容为:", user_input[2:10]) # 若需要统计当前输入的字符频率,可取消下一行注释 # print("字符频率统计结果:", char_frequency(user_input)) break print(f"输入长度为{input_len},不符合要求,请重新输入")
补充说明
- 用
while True实现无限循环,只有输入符合要求时才执行break退出,满足持续提示的需求 - 不需要字符频率统计功能时直接注释对应调用即可,不影响核心逻辑运行
内容的提问来源于stack exchange,提问作者Jess Ann
相关产品推荐
相关产品推荐

