You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现输入字符串、指定删除位置后输出无该字符的新字符串

Python 字符串指定位置字符删除实现

首先给出可直接运行的完整代码:

# 获取用户输入字符串
input_str = input('Enter a String: ')

# 判空处理
if not input_str:
    print('Empty Input')
else:
    try:
        # 获取待删除位置并转换为整数
        del_pos = int(input('Enter the position of the string to be removed: '))
        # 若用户习惯从1开始计数,取消注释下一行即可
        # del_pos -= 1

        # 校验位置合法性
        if 0 <= del_pos < len(input_str):
            # 切片拼接实现字符删除
            new_str = input_str[:del_pos] + input_str[del_pos + 1:]
            print('New string is: ', new_str)
        else:
            print(f'Position out of range, valid range is 0 to {len(input_str) - 1}')
    except ValueError:
        print('Please enter a valid integer for position')

核心实现说明

  • 空输入判断直接使用if not input_str即可,input()函数的返回值永远是字符串类型,原代码中type(x) != str的判断逻辑无效,无法识别空输入
  • 用户输入的位置默认是字符串类型,需要转换为整数才能作为索引使用,添加try-except块可以捕获非整数输入的异常,避免程序崩溃
  • Python 字符串为不可变类型,不能直接通过减法删除字符,标准实现方案为切片拼接:前半段取到待删除位置的前一位,后半段从待删除位置的后一位开始,拼接后即为删除后的字符串
  • 增加位置合法性校验,避免索引越界报错

原代码错误点整理

  • 字符串类型判断逻辑错误,无法识别空输入
  • 未对位置输入做类型转换,无法直接当索引用
  • 错误使用字符串减法操作,不符合Python语法
  • range x(start, end)写法不符合语法规则,删除指定位置字符不需要循环遍历

内容的提问来源于stack exchange,提问作者user4466931

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:57:07