【发布时间】:2020-03-11 03:09:35
【问题描述】:
我很难弄清楚我的代码哪里出错了。 Hackerrank 有自己的样板测试,我还不习惯。 Hackerrank 调试输出和我自己的 Ide 中的算法工作者,但在 Stdout 中返回“NoneNone”。我知道什么都不返回会创建 None 但即使我执行 "return '/n'.join(a_list) 它也不起作用。让我无法通过测试。我没有看到什么?https://www.hackerrank.com/challenges/cut-the-sticks/problem
这不是重复的问题。否决票非常令人沮丧且无益的 nvm。
#!/bin/python3
import math
import os
import random
import re
import sys
def cutTheSticks(arr):
currentSize = len(arr)
while currentSize > 0:
least = min(arr)
print(currentSize)
for stick in range(len(arr)):
arr[stick] -= least
if arr[stick] <= 0:
arr[stick] = 0
for i in range(arr.count(0)):
arr.remove(0)
currentSize = len(arr)
return
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
n = int(input())
arr = list(map(int, input().rstrip().split()))
result = str(cutTheSticks(arr))
fptr.write(result)
fptr.write('\n'.join(map(str, result)))
fptr.write('\n')
fptr.close()
【问题讨论】:
-
提示:
cutTheSticks返回什么?result = str(cutTheSticks(arr))中捕获了什么? -
CutTheSticks 无法返回任何内容,因为我必须打印出长度。我只添加了一个返回,因为它不会显示输出。
-
那么
result = str(cutTheSticks(arr))应该做什么?
标签: python python-3.x algorithm