python请问我的程序哪里有问题?

获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。zifu=input()for i in zifu:if i =="-":breakelse:a=print(i,end="")fzifu=zifu[::-1]print("+",end="")for i in fzifu:if i =="-":breakelse:b=[i]b=''.join(b)b[::-1]print(b,end="")

错误分为语法错误和逻辑错误 1、语法错误程序执行过程中,python解释器会检测你的程序是否存在语法错误,如果程序出错python解释器会指出出错的一行,并且在最先找到的,错误的文职标记了一个小小的箭头。 2、逻辑错误在生活中0是不能作为被除数的,程序写的语法可能没问题,但是逻辑上不一定没有问题,这就是一种逻辑错误。异常处理方法: Python内置的try...except...finally用来处理错误十分方便,出错时,会分析错误信息并定位错误发生的代码位置才是最关键的。程序也可以主动抛出错误,让调用者来处理相应的错误,但是,应该在文档中写清楚可能会抛出哪些错误,以及错误产生的原因。 扩展资料:实例:下面是简单的例子,它打开一个文件,在该文件中的内容写入内容,但文件没有写入权限,发生了异常: #!/usr/bin/python# -*- coding: UTF-8 -*-try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!")except IOError: print "Error: 没有找到文件或读取文件失败"else: print "内容写入文件成功" fh.close() 在执行代码前为了测试方便,我们可以先去掉 testfile 文件的写权限,命令如下: chmod -w testfile 再执行以上代码: $ python test.py Error: 没有找到文件或读取文件失败
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-25

红框位置,只会取-号后一个字符。

一定要这样写的话,稍微改一下

更好的写法

本回答被提问者采纳
第2个回答  2020-05-25
用for循环来截取很容易出问题
建议你用split函数(或者更高级的正则表达式)
我测试了下
2-1,输出2+1
但11-22,输出11+2,明显是截取方面的问题,请用split试试
相似回答