Saya seorang programmer Python baru yang membuat lompatan dari 2.6.4 ke 3.1.1. Semuanya berjalan dengan baik sampai saya mencoba menggunakan pernyataan 'else if'. Penerjemah memberi saya kesalahan sintaks setelah 'jika' di 'lain jika' karena suatu alasan saya sepertinya tidak bisa mencari tahu.
def function(a):
if a == '1':
print ('1a')
else if a == '2'
print ('2a')
else print ('3a')
function(input('input:'))
Saya mungkin melewatkan sesuatu yang sangat sederhana; Namun, saya belum dapat menemukan jawabannya sendiri.
python
python-3.x
Paul Turner
sumber
sumber
Jawaban:
Dalam python "else if" dieja "elif".
Juga, Anda memerlukan titik dua setelah
elif
danelse
.Jawaban sederhana untuk pertanyaan sederhana. Saya memiliki masalah yang sama, ketika saya mulai pertama (dalam beberapa minggu terakhir).
Jadi kode Anda harus dibaca:
sumber
elsif
, saya kira Python harus satu karakter yang lebih efisien. "Elif" tampaknya berasal dari preprocessor C, yang digunakan#elif
jauh sebelum Python AFAICT. Jelas, dalam konteks itu memiliki arahan token tunggal bernilai, karena parsing#else if <code>
vs#else <code that could theoretically even be an if statement>
akan mempersulit sintaks yang dimaksudkan untuk menjadi rawa-sederhana.Apakah yang Anda maksud
elif
?sumber
sumber
sejak dahulu kala, sintaks yang benar untuk
if/else if
dalam Python adalahelif
. Omong-omong, Anda dapat menggunakan kamus jika Anda memiliki banyakif/else
.egUntuk msw, contoh menjalankan fungsi menggunakan kamus.
sumber
elif
.exec
memasangnya. Apakah ini latihan yang bagus? Bisakah Anda memberi contoh?<foo>
adalahdo_foo
, Anda bahkan dapat membuat dict on the fly saat aplikasi dimulai..get
metode yang memungkinkan Anda menentukan nilai default. Contoh pertama Anda dapat ditulis sebagaiprint d.get(a, "3a")
Berikut adalah sedikit refactoring dari fungsi Anda (tidak menggunakan "lain" atau "elif"):
@ ghostdog74: Python 3 membutuhkan tanda kurung untuk "cetak".
sumber
('1', '2')
, op menggunakan stringHarus diperbaiki ke:
Seperti yang Anda lihat, kalau tidak diubah menjadi elif, harus ada titik dua setelah '2' dan yang lain, harus ada baris baru setelah pernyataan lain, dan tutup ruang antara cetakan dan tanda kurung.
sumber