Mia L 2022-04-07 11:23 采纳率: 70%
浏览 31
已结题

请问这行代码为什么会跑不出来呢?应该怎么用while loop更改呢?


def username_2(names):
    """
    >>> username_2(["", "Marina"])
    "uncle roger's biggest fan"
    >>> username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])
    'hilli Jam Haiya'
    >>> username_2(["TUTU", "QIQI", "CECE"])
    'EC'
    """
    # YOUR CODE GOES HERE #
    index=0
    lst=[]
    while len(names[index])>=3 and index<len(names):
        lst.append(names[index][1:-1])
        index+=1
        continue
    return lst[-1]
  • 写回答

2条回答 默认 最新

  • GavinHaydy 2022-04-07 12:12
    关注

    执行第一条时 lst是空列表 用 lst[-1] 报错很正常 返回值加判断就行了

    
    def username_2(names):
        """
        >>> username_2(["", "Marina"])
        "uncle roger's biggest fan"
        >>> username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])
        'hilli Jam Haiya'
        >>> username_2(["TUTU", "QIQI", "CECE"])
        'EC'
        """
        # YOUR CODE GOES HERE #
        index = 0
        lst = []
        while index < len(names) and len(names[index]) >= 3:
            lst.append(names[index][1:-1])
            index += 1
            continue
        if len(lst) == 0:
            return "uncle roger's biggest fan"
        else:
            return lst[-1]
    
    print(
        f'{username_2(["", "Marina"])}\n'
        f'{username_2(["LaiCaiJDanHenRoLu", "JJ~", "Chilli Jam Haiyah"])}\n'
        f'{username_2(["TUTU", "QIQI", "CECE"])}')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。