Bagaimana cara menggunakan raw_input di Python 3
import sys
print(sys.platform)
print(2**100)
raw_input()
Saya menggunakan Python 3.1 dan dapat't mendapatkan raw_input
untuk "membekukan" dos pop-up. Buku I'm membaca adalah untuk Python 2.5 dan I'm menggunakan Python 3.1
Apa yang harus saya lakukan untuk memperbaiki ini?
515
7
Mulai dengan Python 3,
raw_input()
berganti nama menjadiinput()
.Dari Apa yang Baru Di Python 3.0.
Ini bekerja di Python 3.x dan 2.x:
Cara yang dapat diandalkan untuk mengatasi hal ini adalah
enam adalah sebuah modul yang patch lebih banyak dari 2/3 umum basis kode nyeri poin.
Seperti orang lain telah ditunjukkan,
raw_input
fungsi telah berganti nama menjadiinput
dalam Python 3.0, dan anda benar-benar akan lebih baik dilayani oleh lebih up-to-date buku, tapi saya ingin menunjukkan bahwa ada cara yang lebih baik untuk melihat output dari script anda.Dari keterangan anda, saya pikir anda're menggunakan Windows, anda've disimpan
.py
file dan kemudian anda're double-klik di atasnya untuk menjalankannya. Terminal window yang muncul menutup segera setelah program berakhir, sehingga anda dapat't melihat apa hasil dari program tersebut. Untuk memecahkan hal ini, anda pesan merekomendasikan menambahkanraw_input
/input
pernyataan untuk menunggu sampai pengguna menekan enter. Namun, seperti yang anda've terlihat, jika terjadi kesalahan, seperti kesalahan dalam program anda, pernyataan itu tidak't akan dieksekusi dan jendela akan menutup tanpa anda mampu melihat apa yang salah. Anda mungkin merasa lebih mudah untuk menggunakan command-prompt atau MENGANGGUR.Menggunakan command-prompt
Bila anda'kembali melihat jendela folder yang berisi program Python, tahan shift dan klik kanan di mana saja di latar belakang putih area jendela. Menu yang muncul harus berisi sebuah entri "Open command window here". (Saya pikir ini bekerja pada Windows Vista dan Windows 7.) Ini akan membuka jendela wantian perintah yang terlihat seperti ini:
Untuk menjalankan program anda, ketik berikut (mengganti script anda nama):
...dan tekan enter. (Jika anda mendapatkan error yang "python" tidak diakui perintah, lihat http://showmedo.com/videotutorials/video?name=960000&fromSeriesID=96 ) Ketika program selesai dijalankan, apakah berhasil atau tidak, jendela akan tetap terbuka dan command-prompt akan muncul lagi bagi anda untuk mengetik perintah lain. Jika anda ingin menjalankan program anda lagi, anda dapat menekan tombol panah atas untuk mengingat perintah sebelumnya anda masukkan dan tekan enter untuk menjalankannya lagi, daripada harus mengetik nama file setiap saat.
Gunakan IDLE
MENGANGGUR adalah sebuah program sederhana editor yang datang diinstal dengan Python. Di antara fitur-fitur lainnya itu dapat menjalankan program anda di jendela. Klik kanan pada anda
.py
file dan pilih "Edit di IDLE". Ketika program anda muncul di editor, tekan F5 atau pilih "Menjalankan modul" dari "Run" menu. Program anda akan berjalan di jendela yang tetap terbuka setelah program berakhir, dan di mana anda dapat memasukkan perintah-perintah Python untuk segera berjalan.Timmerman's solusi karya besar ketika menjalankan kode, tapi jika anda don't ingin mendapatkan
Undefined nama
kesalahan ketika menggunakan pyflakes atau serupa linter anda bisa menggunakan ini sebagai gantinya:Berikut ini's sepotong kode yang saya masukkan di script saya bahwa saya wan't berjalan di py2/3-agnostik lingkungan:
Sekarang anda dapat menggunakan real_raw_input. It's cukup mahal tetapi pendek dan mudah dibaca. Menggunakan raw input adalah biasanya waktu yang mahal (menunggu input), sehingga's tidak penting.
Secara teori, anda bahkan dapat menetapkan raw_input bukan real_raw_input tapi mungkin ada modul yang memeriksa keberadaan raw_input dan berperilaku sesuai. It's lebih baik tinggal di sisi yang aman.
Mungkin bukan solusi terbaik, tapi sebelum saya datang ke sini saya hanya membuat ini on the fly untuk terus bekerja tanpa istirahat sebentar dari penelitian.
Kemudian ketika saya menjalankan
raw_input('Masukkan nama: ')
pada script yang saya kerjakan, ia menangkap itu sebagai tidakinput()
akan.Mungkin ada alasan untuk tidak melakukan hal ini, yang saya belum't menemukan belum!