Monica_MTF 2023-01-29 16:37 采纳率: 73.9%
浏览 34
已结题

判断参数是否为字符串,可迭代对象

函数 main() 接收两个参数,
其中 iterable 预期为包含若干字符串的可迭代对象,sep 预期为字符串。
如果参数sep不是字符串就返回字符串'参数sep必须是字符串',
如果参数iterable不是可迭代对象就返回字符串'参数iterable必须为可迭代对象',
如果参数iterable是可迭代对象但其中有不是字符串的元素就返回字符串'参数iterable中所有元素都必须为字符串'。
如果所有参数都符合要求就返回使用sep作为连接符对iterable中所有字符串进行连接之后的字符串。
例如,main(map(str,range(5)),',')返回‘0,1,2,3,4’。
返回不能有多余的内容,不能引用外部包。

考点:字符串
感觉是要使用map和str结合使用

def main(iterable, sep=''):
    for i in sep:
        if sep not  is str:
            return '参数sep必须是字符串'
    for j in iterable:
        if iterable not iterable:        #???
            return '参数iterable必须为可迭代对象'
        elif str in iterable:        #其中有不是字符串的元素
            return '参数iterable中所有元素都必须为字符串'
        else:
            return main(map(str,range(iterable)),',')
'''
答题错误!您的代码执行结果为:
  File xxx.py, line 3
    if sep not is str:
               ^
SyntaxError: invalid syntax
'''
  • 写回答

2条回答 默认 最新

  • 元气少女缘结神 2023-01-29 16:53
    关注

    报错那句改成 if type(sep)!=str:

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月15日
  • 修改了问题 1月29日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("
  • ¥15 JSzip压缩文件时如何设置解压缩密码