用python写了个小程序,用IDE运行没有任何问题,尝试用CMD运行,CMD窗口一闪而过就没有了。。。
代码如下:
# -*- coding:utf-8 -*-
from __future__ import unicode_literals
import random
def play():
message=['石头','剪刀','布']
i=input('石头剪刀布:\n0=石头\n1=剪刀\n2=布\n3=退出\n')
while int(i)!=3:
result=random.randint(0,2)
print '对方出:'+message[result]+',我出:'+message[i]
j= i-result
if j==0:
print '你们还是做好朋友吧!\n'
elif j==1:
print '对方赢了,下次努力!\n'
elif j==2:
print '就知道我是最棒哒!\n'
elif j==-1:
print '棒棒哒,真想给自己个么么哒!\n'
elif j==-2:
print '小家伙,别嘚瑟,下次赢你!\n'
i=input('石头剪刀布:\n0 = 石头\n1 = 剪刀\n2 = 布\n3 = 退出\n ')
print '虽然咱们不分高下,但是咱们还是可以做好朋友的。'
play()
里面有input,按理说应该等我input东西才对吧。
我似乎找到原因了,我之前在idle里运行没有任何问题,然后就直接双击运行试试,结果一闪而过,于是我在CMD里python caiquanyouxi.py运行,出现错误了,错误如下:
请各位赐教!
Pertama sekali, mengapa ini berlaku walaupun terdapat input?
Jawapan: Kerana ralat berlaku sebelum input() dijalankan
Ralat apa?
Jawapan: Ralat pengekodan berlaku semasa membaca fail, iaitu beberapa aksara tidak dapat dibaca.
Penyelesaian:
1. Jalankan dengan IDE.
2. Jalankan dengan mesin maya Linux. (Dalam analisis akhir, ia masih kesalahan windows gbk)
3. Cuba fahami perkara seperti pengekodan, nyahkod dan abaikan
Kemudian jangan jalankannya dari baris arahan dahulu, masukkan ke dalam IDEL dan lihat jika terdapat ralat
Periksa sama ada Python2 dan Python3 dipasang pada masa yang sama Terdapat juga fungsi input dalam Python2, tetapi fungsinya berbeza sepenuhnya daripada input dalam 3. Ada kemungkinan IDE anda menggunakan python3, jadi ia boleh berjalan seperti biasa, tetapi cmd menggunakan python2, jadi ia tidak berfungsi dengan betul.
kod unicode ralat
Rujuk http://transcoder.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1002%2Ct ini a%40iphone_2_6.0_2_6.8/baiduid=D47B67CD8866F5B4716F9F9BCF84DFD7/w=0_10_python+unicodeencode+error/t=iphone/l=3/ tc?ref=www_iphone&lid=16340644776571976913&order=6&fm=alop&tj=www_normal_6_0_10_title&vit=osres&m=8&srd=1&cltj= cloud_title&asres=1&title=python%E4%B8%AD%E7%9A%84%E7%BC%96%E7%A0%81%E9%97%AE%E9%A2%98%3A%E4%BB%A5ascii% E5%92%8 Cunicode%E4%B8%BA%E4%B8%BB%E7%BA%BF..._%E5%8D%9A%E5%AE%A2%E5%9B%AD&dict=30&sec=13731&di=d4da424635e9d09b&bdenc= 1&tch=124.78.243.1059.0.0&tch=124.232.284.1073.1.836&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZ QRASDfuL7_KZpPPtCPQpxwGx8Sc_7YskNYWgK&eqid=e2c5a1d90c6a40001000000257885c4d&wd=&clk_info=%7B%22srcid%22%3A%22ww w_normal%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1468554487103%2C%22xpath%22%3A%22p-a-h3-em2%22%7D
Tambahkan u di hadapan semua aksara Cina, contohnya:
python2
input
ialahraw_input
Mesej ralat anda ialah aksara Cina tidak boleh dipaparkan dalam baris arahan cmd