Python: BANTUAN mendapatkan kesalahan runtime (NZEC)

Jadi saya memutuskan untuk mengambil pemrograman kompetitif di CodeChef. Saya melihat masalah untuk dicoba. Tapi saya terus mendapatkan kesalahan runtime (NZEC) dan saya tidak tahu mengapa karena saya pikir kesalahan itu hanya terjadi ketika saya memanggil item array di luar batas dan loop tak berujung yang memakan terlalu banyak memori.

Masalah
1.) Dapatkan 2 input A dan B
2.) Batasannya: 1 ≤ B ‹ A ≤ 10000
3.) Lalu saya kerjakan A-B dan ubah satu digit jawaban
4.) Lalu saya kembalikan

Catatan: Batas Waktu adalah 1 detik, ukuran kode sumber maksimal 50.000 byte

e.g

input A >> 95
input B >> 50

output >> 35

Jawaban sebenarnya adalah 45 tetapi kami bermaksud mengubah satu digit jawabannya

Jadi ini solusi saya

from random import randint

test1 = True
test2 = True

while test1:
    A = int(input("Enter a number: "))
    if (A>=1) and (A<=10000):
        test1 = False
    else:
        print("Number must be greater or equal to 1 and less than or equalts to 10,000")


while test2:
    B = int(input("Enter a second number: "))
    if (B>=1) and (B<=10000) and (B<A):
        test2 = False
    else:
        print("Number must follow rules as above BUT must be less than your first")

solution = str(A-B)
range1 = randint(0, len(solution)-1)
range2 = randint(0,9)
replacement = list(range(0,10))

new_solution = solution.replace(solution[range1], str(replacement[range2]))
print(new_solution)

person Community    schedule 27.12.2016    source sumber


Jawaban (1)


"NZEC" bukanlah kesalahan spesifik yang dapat dengan mudah kita tentukan dan ketahui penyebabnya. Ini berarti "Kode Keluar Bukan Nol". Ini bisa berarti bahwa terjadi kesalahan di suatu tempat dalam kode Anda atau eksekusi kode Anda memakan waktu terlalu lama (juri online ini biasanya memiliki batasan waktu proses yang ketat).

Salah satu kemungkinan penyebabnya adalah juri online mencoba mengeksekusi kode Anda dengan input string yang menyebabkan panggilan Anda ke int(input(..)) memunculkan ValueError yang tidak ditangkap oleh kode Anda.

person DeepSpace    schedule 27.12.2016
comment
Saya melihat jawaban lain. Mereka bahkan tidak menyertakan kode untuk menguji apakah pengguna mengikuti batasan. Jadi yang pasti, pengujian input string bukanlah masalahnya, mungkin pembatasan waktu proses tapi saya tidak yakin. - person ; 27.12.2016