如何使用input()函数从输入数字中移除首个数字5
解决方案:移除数字中的指定5
根据你的描述,需求是从输入数字中移除单个数字5,若存在多个5则移除从左到右第一个;但你的示例看起来更像是要移除从左到右最后一个5。我会分别给出两种情况的实现代码,你可以根据实际需求选择。
情况1:严格按照问题描述(移除从左到右第一个5)
这个逻辑是找到第一个出现的5,将其从字符串中删除,其余字符完整保留。
代码实现
# 获取用户输入,转为字符串处理(字符串操作更适合处理“移除某一位”的需求) input_str = input().strip() # 找到第一个'5'的索引位置,找不到则返回-1 first_5_pos = input_str.find('5') if first_5_pos != -1: # 拼接第一个5之前的部分和之后的部分,跳过第一个5 result = input_str[:first_5_pos] + input_str[first_5_pos+1:] else: # 如果输入中没有5,直接返回原内容 result = input_str # 输出最终结果 print(result)
测试用例验证
- 输入:
555→ 输出:55(符合预期,移除第一个5) - 输入:
599657→ 输出:99657(严格遵循问题描述的结果) - 输入:
6578→ 输出:678(正确移除唯一的5) - 输入:
59959786→ 输出:9959786(严格遵循问题描述的结果) - 输入:
34567→ 输出:3467(正确移除中间的5) - 输入:
55→ 输出:5(符合预期,移除第一个5)
情况2:匹配你的示例需求(移除从左到右最后一个5)
从你给出的示例来看,实际需求更偏向于移除最后一个出现的5(比如输入599657得到59967,输入59959786得到5999786),以下是对应实现:
代码实现
input_str = input().strip() # 找到最后一个'5'的索引位置,找不到则返回-1 last_5_pos = input_str.rfind('5') if last_5_pos != -1: result = input_str[:last_5_pos] + input_str[last_5_pos+1:] else: result = input_str print(result)
测试用例验证(完全匹配你的示例)
- 输入:
555→ 输出:55(符合示例) - 输入:
599657→ 输出:59967(完全匹配示例) - 输入:
6578→ 输出:678(符合示例) - 输入:
59959786→ 输出:5999786(完全匹配示例) - 输入:
34567→ 输出:3467(符合示例) - 输入:
55→ 输出:5(符合示例)
为什么用字符串处理?
直接将输入转为字符串是最直观的方案:数字本身无法直接进行“移除某一位”的操作,而字符串的切片、查找方法可以轻松实现精准定位和内容拼接,代码可读性也更高。
内容的提问来源于stack exchange,提问作者Akhil Raj n
相关产品推荐
相关产品推荐

