忽视 发表于 2017-6-16 13:14:21

问一下我发现的错误,是否理解正确

甲乙两队,分别从学校出发前往目的地,他们白天甲队可以行进20km,乙队可以行进15km,晚上的行进速度是一致的,甲队到达目的地走了5昼夜,乙队走了6昼夜,问:学校到目的地距离多少km?
#import random
#x=random.randint(1,20)
x=1
km=0
i=0
while i<=20:
    if (20*5+5*x)==(15*6+6*x):#我开始用的是:(20*5+5*x)and(15*6+6*x),出来的是错误答案
      km=1
    else:
      x=x+1
    i=i+1
if km==1:
    y=20*5+5*x
    print("学校距离目的地:",y)
else:
    print("不在程序限定范围之内")

我想问一下各位大神:我认为错的原因死因为使用的是bool,导致我的x=1,代入之后还会得到ture,所以代码不会再去寻找x的值,我想问一下各位大神我这样理解正确吗?

冬雪雪冬 发表于 2017-6-16 14:06:17

我试了应该没有错误,不过程序有些复杂,按你的思路重新写了一个。
x = 1
while True:
    if (20*5+5*x)==(15*6+6*x):
      print(20*5+5*x)
      break
    x += 1

忽视 发表于 2017-6-16 14:32:48

冬雪雪冬 发表于 2017-6-16 14:06
我试了应该没有错误,不过程序有些复杂,按你的思路重新写了一个。

感谢回复
页: [1]
查看完整版本: 问一下我发现的错误,是否理解正确