一道简单的数学题。想用python求解却跑不起来
麻烦有没有大哥帮小弟看下 代码错在哪里~4.一水池内有16吨水,水池装有A、B两个排水管和C进水管,
A管独开每小时排水5吨,B管独开每小时排水1吨,C管独开每小时灌进水4吨。
现在按A、B、C、A、B、C……的顺序轮流各开1小时。问经过( )小时,水池的水刚好排空。
t = 0
X = 16
A = -5
B = -1
C = 4
while 1 :
if X == 0:
break
print ('经过',t,'小时,水池排空')
else:
t = t + 1
X = X + A
if X == 0:
break
print ('经过',t,'小时,水池排空')
else:
t = t + 1
X = X + B
if X == 0:
break
print ('经过',t,'小时,水池排空')
else:
t = t + 1
X = X + C
本帖最后由 heidern0612 于 2019-1-23 09:53 编辑
逻辑问题,从题意可知:
1、水池的水经过三个管道A、B、C的排放,三个小时共计减少2吨;
2、在水池的水减少到6吨的时候,可知再经过两个小时A和B的排放就完全放空了。
所以如下这么写:
x = 16
temp = 0
while True:
ifx == 6:
print(f"经过{temp+2}小时,泳池的水排空")
break
else:
x -= 2
temp += 3 x = 16
t = 0
while True:
if x == 0:
print(t)
break
else:
t += 1
if t % 3 == 1:
x -= 5
elif t % 3 == 2:
x -= 1
else:
x += 4
#!/usr/bin/python
#coding:gbk
if __name__ == '__main__':
x = 16
t = 0
while x > 0 :
t += 1
d = t % 3
if d == 1:
x -= 5
elif d == 2:
x -= 1
else:
x += 4
print "经过 %d 小时,泳池的水排空\n" % t
x=16
t=
i=0
while x>0:
x-=t
i+=1
print(i) 把break和print换一下位置 a,b,c,d,e,f = 5,1,4,16,1,0
while d:
if e >= 4 :e = 1
if e == 1 :
d -= a
e += 1
f += 1
elif e == 2:
d -= b
e += 1
f += 1
elif e == 3:
d -= c
e += 1
f += 1
print(f)
这个应该看的懂了吧
页:
[1]