用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运行,出现错误了,错误如下:
请各位赐教!
으아악
먼저 입력이 있는데 왜 이런 일이 발생하는 걸까요?
답변: input()이 실행되기 전에 오류가 발생했기 때문입니다.
무슨 오류인가요?
답변: 파일을 읽을 때 인코딩 오류가 발생했습니다. 즉, 일부 문자를 읽을 수 없습니다.
해결책:
1. IDE로 실행하세요.
2. Linux 가상 머신으로 실행합니다. (결론적으로 보면 여전히 windows gbk의 잘못입니다)
3. 인코딩, 디코딩, 무시 등을 이해하려고 노력하세요
그런 다음 먼저 명령줄에서 실행하지 말고 IDEL에 넣고 오류가 있는지 확인하세요
Python2와 Python3가 동시에 설치되어 있는지 확인하세요. Python2에도 입력 기능이 있지만 그 기능은 3의 입력과 완전히 다릅니다. 사용하시는 IDE에서는 python3을 사용하기 때문에 정상적으로 실행이 되지만, cmd에서는 python2를 사용하기 때문에 제대로 동작하지 않을 가능성이 있습니다.
유니코드 인코딩 오류
http://transcoder.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1002%2Cta% 참고 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&제목 =파이썬 %E4%B8%AD%E7%9A%84%E7%BC%96%E7%A0%81%E9%97%AE%E9%A2%98%3A%E4%BB%A5ascii%E5%92 %8Cunicode %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_ytK1DK6mlrte4viZQRASDfuL7_KZpPPtCPQpxwGx8Sc_7YskNYWgK&eqid= e2c5a 1d90c6a40001000000257885c4d&wd=&clk_info=%7B%22srcid%22%3A%22www_normal%22%2C%22tplname%22%3A%22www_normal%22%2C%22t %22% 3A1468554487103%2C%22xpath%22%3A%22p-a-h3-em2%22%7D
모든 한자 앞에 u를 추가하세요. 예:
으아악python2의
입니다.input
은raw_input
cmd 명령줄에 중국어 문자를 표시할 수 없다는 오류 메시지가 있습니다