这是题目,以下是我的代码:
以下图是报错:
下面是题目链接:
https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8?tpId=37&tqId=21320&tPage=5&rp=&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking
麻烦大家帮忙看看哪出问题了,输出为什么会是空呢?输入5时没有问题。
这是题目,以下是我的代码:
以下图是报错:
下面是题目链接:
https://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8?tpId=37&tqId=21320&tPage=5&rp=&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking
麻烦大家帮忙看看哪出问题了,输出为什么会是空呢?输入5时没有问题。
没有看到你输出1位小数的逻辑
也没有看到你对0的判断(不大于0不一定是负数)
你也没有考虑没有负数的情况(你的代码会产生除0错误)
还有你倒数第三行最后len(d)为何前后有怪异的小点
最后,你这个是死循环(while true)没有办法停下来
a = 0
c = 0
nc = 0
pc = 0
psum = 0
pavg = 0
a = int(input())
arr = input().split(' ')
for c1 in arr:
c = int(c1)
if c < 0:
nc = nc + 1
elif c > 0:
psum = psum + c
pc = pc + 1
if pc == 0:
pavg = 0
else:
pavg = psum // pc
print(str(nc) + " " + str(round(pavg, 1)))
503
-95 35 16 287 -11 -130 90 272 159 166 293 196 -235 -101 133 -5 189 119 -37 102 311 11 185 326 14 -252 22 263 -16 -58 127 -61 -283 -97 275 258 -261 -160 79 131 56 250 90 106 295 -244 -41 305 102 -137 209 -70 126 -250 231 68 -110 109 231 10 126 -231 -187 58 169 21 -35 -130 -296 -216 250 301 216 -11 -208 -295 230 -225 -269 -73 -38 299 289 -229 -8 -73 90 -99 -114 -24 324 -62 -85 -215 -167 26 -178 56 -77 191 -215 -180 -294 -204 21 136 8 86 179 121 164 47 -208 56 189 -106 -247 96 -50 -51 318 159 -85 61 285 -270 -171 161 161 192 -177 -106 17 -269 -142 -74 -262 -152 310 -31 160 235 322 -51 -164 163 -206 223 132 315 175 -182 310 60 -289 239 94 217 248 -67 312 234 188 158 196 196 186 -75 20 -287 284 -216 -81 -107 226 -219 -56 102 255 -121 -15 -111 -86 255 229 -235 -178 -24 -108 9 222 -26 -202 76 -57 227 -105 71 -117 -198 23 -86 272 222 281 288 229 181 162 294 -85 79 125 -155 213 -118 192 -110 59 -9 181 101 314 -257 -33 -283 -161 305 175 228 212 195 63 141 -40 69 187 -276 61 -169 82 193 -270 164 290 -23
输出
108 170