鱼C论坛

 找回密码
 立即注册
查看: 5145|回复: 6

[已解决]麻烦帮我看一下,如果通过代码实现这个方法,谢谢

[复制链接]
发表于 2017-5-31 10:48:41 | 显示全部楼层 |阅读模式
50鱼币

a = [6,4,3,2,3,4,5,6,7,8,9,6,4,2,1,4,6,8,1]

b = [1,1,1,-1,-1,-1,1,1,1,1,-1,1,-1,1,1,1,1,1,1]

c = 0

#列表A与列表B内的元素数量是一样的。

for i in range(len(a)) :
        if a[i] <3:
                if b[i] == 1:
                        c += 1
                else:
                        c -= 1
print(c)


上面的代码是不完整的。我的想法是:
当i小于3时,执行if语句,直到i是8时,停止执行if语句。然后又当i小于3时,又开始执行if语句,直到i是又8时,又停止执行if语句出。反复如此,直到跌代完整个列表。

上面的输出结果,应该是c应该是5


麻烦解答一下,谢谢!!!
最佳答案
2017-5-31 10:48:42
做个标识start。
  1. a = [6,4,3,2,3,4,5,6,7,8,9,6,4,2,1,4,6,8,1]

  2. b = [1,1,1,-1,-1,-1,1,1,1,1,-1,1,-1,1,1,1,1,1,1]

  3. c = 0
  4. start = False

  5. #列表A与列表B内的元素数量是一样的。

  6. for i in range(len(a)):
  7.     if a[i] <3:
  8.         start = True
  9.     if a[i]>=8:
  10.         start = False
  11.     if start:
  12.         c += b[i]
  13. print(c)
复制代码

最佳答案

查看完整内容

做个标识start。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 10:48:42 | 显示全部楼层    本楼为最佳答案   
做个标识start。
  1. a = [6,4,3,2,3,4,5,6,7,8,9,6,4,2,1,4,6,8,1]

  2. b = [1,1,1,-1,-1,-1,1,1,1,1,-1,1,-1,1,1,1,1,1,1]

  3. c = 0
  4. start = False

  5. #列表A与列表B内的元素数量是一样的。

  6. for i in range(len(a)):
  7.     if a[i] <3:
  8.         start = True
  9.     if a[i]>=8:
  10.         start = False
  11.     if start:
  12.         c += b[i]
  13. print(c)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-31 11:44:07 | 显示全部楼层


很感谢版主的回复,我刚刚测试好了,应该是没有问题的。

不过代码,我有些不理解,麻烦版主解答一下,谢谢
我把列表缩小一点,容易看些

a[4]=6,它是大于3的,则start = flalse,那最后if语句应该没有执行的才对啊。

  1. a = [7,6,2,1,6,8,4,1]

  2. b = [1,1,1,1,1,1,1,1]

  3. c = 0
  4. start = False

  5. #列表A与列表B内的元素数量是一样的。

  6. for i in range(len(a)):
  7.     if a[i] <3:
  8.         start = True
  9.     if a[i]>=8:
  10.         start = False
  11.     if start:
  12.         c += b[i]
  13. print(c)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 11:47:56 | 显示全部楼层
flyps 发表于 2017-5-31 11:44
很感谢版主的回复,我刚刚测试好了,应该是没有问题的。

不过代码,我有些不理解,麻烦版主解答一下 ...

初始start为False,当小于3时转为True,当执行到a[4]时前2个if语句都不成立,start仍为True
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-31 11:51:44 | 显示全部楼层
冬雪雪冬 发表于 2017-5-31 11:47
初始start为False,当小于3时转为True,当执行到a[4]时前2个if语句都不成立,start仍为True

明白了,谢谢,
好心塞,想了几天了,被你几行代码搞定了,昨天还跳过好多课去了正则表达式。

大神,我要怎么样才可以提高编程能力,我是无基础的,麻烦你提一下建议吧,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 11:53:49 | 显示全部楼层
flyps 发表于 2017-5-31 11:51
明白了,谢谢,
好心塞,想了几天了,被你几行代码搞定了,昨天还跳过好多课去了正则表达式。

熟练掌握基础知识,多练习,多看别人的程序。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-31 11:54:32 | 显示全部楼层
冬雪雪冬 发表于 2017-5-31 11:53
熟练掌握基础知识,多练习,多看别人的程序。

谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 20:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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