Selesaikan masalah "SyntaxError: Invalid Syntax" dalam Kod Python yang Seolah-olah Sah
Apabila menghadapi ralat "SyntaxError: invalid syntax" dalam baris kod yang kelihatan sah, adalah bijak untuk menyemak baris sebelumnya. Ralat ini berpotensi berpunca daripada ketidakseimbangan kurungan dalam baris sebelumnya, yang boleh membawa ke hadapan dan mencetuskan ralat.
Pertimbangkan kod berikut sebagai contoh:
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494) guess = Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2)
Di sini, ralat dilaporkan pada baris 2 untuk "sintaks tidak sah." Walau bagaimanapun, apabila diperiksa dengan lebih teliti, ternyata bahawa baris 1 mempunyai tiga kurungan terbuka tetapi hanya dua kurungan tertutup.
open parentheses: 1 2 3 # count open parentheses v v v # forked lines leading to parentheses fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494) ^ ^ # where error might be closed parentheses: 1 2 # count closed parentheses
Barisan 1 yang salah hendaklah dibetulkan kepada:
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2) + 0.494) # add missing parenthesis
Nota bahawa dalam versi lama Python (pra-3.9), mesej ralat tidak begitu tepat dalam mengenal pasti lokasi isu. Walau bagaimanapun, dalam Python 3.9 dan lebih baru, mesej ralat dengan betul menunjuk kepada sumber masalah:
File "prog.py", line 1 xyzzy = (1 + ^ SyntaxError: '(' was never closed
Atas ialah kandungan terperinci Mengapa Kod Python Saya yang Seolah-olah Betul Melemparkan 'SyntaxError: Invalid Syntax'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!