paper009 2021-11-06 17:41 采纳率: 50%
浏览 1036
已结题

用python输入一个包含若干整数的列表,删除其中所有奇数,然后将剩余整数转换为字符串,输出包含这些字符串的列表。

想要的结果:例如,输入[1, 2, 3, 4, 5, 7,6, 8],输出[‘2’,’4’,’6’,’8’]。

以下是我的思路,还没有敲转换为字符串这一步的代码,目前的代码就已经出错了,系统提示的是if那一步出错,想请教一下具体是什么问题。谢谢!

x=input('请输入若干整数:')
lst=list(x)

i=len(lst)-1
while i>=0:
    if int(lst[i])%2==1:
        del lst[i]
        i=i-1
    else:
        print(lst)
  • 写回答

1条回答 默认 最新

  • 笨鸟快飞呀 2021-11-06 21:58
    关注

    一看你就是个认真学习的同学。
    看上面的代码,一共有两个问题:
    问题1:
    问题出在第一步,当你输入 1,2,3,4,5,6 的时候,x 获取的是一个字符串,也就是 “1,2,3,4,5,6”
    而下一步你用 list(x)转换成lst的时候,也把逗号算进去了,所以此时lst的值是 ['1', ',', '2', ',', '3', ',', '4', ',', '5', ',', '6'] ,这是问题之一。

    问题2:
    在while循环语句中,当i为偶数的时候,进入eles循环,然而 i并没有变化,因此进入了 while死循环。

    所以,我修改了部分代码如下参考:

    x = input('请输入若干整数:')
    lst = x.split(',')
    print(lst)
    i = len(lst)-1
    while i >= 0:
        if int(lst[i]) % 2 == 1:
            del lst[i]
        i = i-1
    print(lst)
    
    请输入若干整数:1,2,3,4,5,6
    ['1', '2', '3', '4', '5', '6']
    ['2', '4', '6']
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 修改了问题 11月6日
  • 创建了问题 11月6日

悬赏问题

  • ¥20 为什么安装CSiBridge时出现了这个问题,尝试了很多方法都不行,求详细操作步骤?
  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术