Postingan lainnya
Mencari Median - HackerRank Mock Test (Python)
Aku coba mock test di hacker rank untuk cari median. tapi saat di run, outputnya none. coba pake cara lain yg aku temuin di geekforgeeks juga tetep none. Kenapa ya?
#!/bin/python3
import math
import os
import random
import re
import sys
#
# Complete the 'findMedian' function below.
#
# The function is expected to return an INTEGER.
# The function accepts INTEGER_ARRAY arr as parameter.
#
import statistics
def findMedian(arr):
arr.sort()
med = statistics.median(arr)
print(med)
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
n = int(input().strip())
arr = list(map(int, input().rstrip().split()))
result = findMedian(arr)
fptr.write(str(result) + '\n')
fptr.close()
0
2 Jawaban:
Mungkin karen akamu ngeprint
print(med)
harusnya return
0
Penyebab output menjadi None karena fungsi findMedian tidak mengembalikan nilai apa-apa (return).
Untuk mengembalikan median, perlu ditambahkan statement return:
import statistics
def findMedian(arr):
arr.sort()
med = statistics.median(arr)
return med
Selain itu, perlu diperhatikan beberapa hal:
- Gunakan statistics.median untuk mencari median, bukan rata-rata
- Setelah mencari median, kembalikan nilainya dengan return
- Panggil fungsi print di luar fungsi, bukan didalamnya
Contoh penggunaan yang benar:
import statistics
def findMedian(arr):
arr.sort()
return statistics.median(arr)
arr = [1,3,5,7,9]
result = findMedian(arr)
print(result)
Dengan mengembalikan nilai median dan mencetaknya di luar fungsi, maka akan mencetak hasil median secara benar.
0