鱼C论坛

 找回密码
 立即注册
查看: 675|回复: 4

[已解决]python第十九课的课后题

[复制链接]
发表于 2019-4-30 11:21:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我按照小甲鱼老师的编码输入到Sublime中去,显示第十行的=报错,我能保证我输入的是英文=,哪里出错了呢

def findstr(desStr,subStr):
    count = 0
    length = len(desStr)
    if subStr not in desStr:
        print('在目标字符串中未找到字字符串')
    else:
         for each in range(length-1):
              if desStr[each] == subStr[0]:
                   if desStr[each+1] == subStr[[1]:
                        count += 1
         print('子字符串在目标字符串中出现 %d 次',% count)


File "D:\pythonwork\findstr.py", line 10
    count += 1
               ^
SyntaxError: invalid syntax


最佳答案
2019-4-30 12:02:25
本帖最后由 jackz007 于 2019-4-30 12:03 编辑

      以下 2 行代码有问题:
  1.                    if desStr[each+1] == subStr[[1]:         # 多出左方括号
  2. . . . . . .
  3.          print('子字符串在目标字符串中出现 %d 次',% count)    # 应该把 % 前面的逗号删掉
复制代码

      改好的代码如下:
  1. def findstr(desStr,subStr):
  2.     count = 0
  3.     length = len(desStr)
  4.     if subStr not in desStr:
  5.         print('在目标字符串中未找到字字符串')
  6.     else:
  7.          for each in range(length-1):
  8.               if desStr[each] == subStr[0]:
  9.                    if desStr[each+1] == subStr[1]:            # 错误点,已经修正
  10.                         count += 1
  11.          print('子字符串在目标字符串中出现 %d 次' % count)      # 错误点,已经修正
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-4-30 11:58:31 | 显示全部楼层
SynataxError:invalid syntax说明是语法错误,count += 1 这句肯定没错,那就是上一句

if desStr[each+1] == subStr[[1]:    # 这里你的中括号多了一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-30 12:02:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-4-30 12:03 编辑

      以下 2 行代码有问题:
  1.                    if desStr[each+1] == subStr[[1]:         # 多出左方括号
  2. . . . . . .
  3.          print('子字符串在目标字符串中出现 %d 次',% count)    # 应该把 % 前面的逗号删掉
复制代码

      改好的代码如下:
  1. def findstr(desStr,subStr):
  2.     count = 0
  3.     length = len(desStr)
  4.     if subStr not in desStr:
  5.         print('在目标字符串中未找到字字符串')
  6.     else:
  7.          for each in range(length-1):
  8.               if desStr[each] == subStr[0]:
  9.                    if desStr[each+1] == subStr[1]:            # 错误点,已经修正
  10.                         count += 1
  11.          print('子字符串在目标字符串中出现 %d 次' % count)      # 错误点,已经修正
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-30 12:31:41 | 显示全部楼层
jackz007 发表于 2019-4-30 12:02
以下 2 行代码有问题:

      改好的代码如下:

谢谢大神
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-30 12:32:18 | 显示全部楼层
铁棍阿童木 发表于 2019-4-30 11:58
SynataxError:invalid syntax说明是语法错误,count += 1 这句肯定没错,那就是上一句

if desStr[each+1 ...

谢谢大神
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-16 02:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表