flyps 发表于 2017-5-31 10:48:41

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


a =

b =

c = 0

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

for i in range(len(a)) :
      if a <3:
                if b == 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。
a =

b =

c = 0
start = False

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

for i in range(len(a)):
    if a <3:
      start = True
    if a>=8:
      start = False
    if start:
      c += b
print(c)

flyps 发表于 2017-5-31 11:44:07

冬雪雪冬 发表于 2017-5-31 11:05
做个标识start。

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

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

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

a =

b =

c = 0
start = False

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

for i in range(len(a)):
    if a <3:
      start = True
    if a>=8:
      start = False
    if start:
      c += b
print(c)

冬雪雪冬 发表于 2017-5-31 11:47:56

flyps 发表于 2017-5-31 11:44
很感谢版主的回复,我刚刚测试好了,应该是没有问题的。

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

初始start为False,当小于3时转为True,当执行到a时前2个if语句都不成立,start仍为True

flyps 发表于 2017-5-31 11:51:44

冬雪雪冬 发表于 2017-5-31 11:47
初始start为False,当小于3时转为True,当执行到a时前2个if语句都不成立,start仍为True

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

大神,我要怎么样才可以提高编程能力,我是无基础的,麻烦你提一下建议吧,谢谢

冬雪雪冬 发表于 2017-5-31 11:53:49

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



熟练掌握基础知识,多练习,多看别人的程序。

flyps 发表于 2017-5-31 11:54:32

冬雪雪冬 发表于 2017-5-31 11:53
熟练掌握基础知识,多练习,多看别人的程序。

谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
页: [1]
查看完整版本: 麻烦帮我看一下,如果通过代码实现这个方法,谢谢