CMD运行一个py小程序,CMD窗口一闪而过,里面有input(),为什么还会这样?

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运行,出现错误了,错误如下:

图片描述

请各位赐教!

回答:

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

input('石头剪刀布:\n0 = 石头\n1 = 剪刀\n2 = 布\n3 = 退出\n ')

回答:

首先为什么有input还是会这样?
答:因为还没运行到input()的时候,就出错了
什么错误?
答:在读文件的时候出现了编码错误,即一些字符无法读取。
解决方案:
1、用IDE运行。
2、用linux虚拟机运行。(归根到底还是windows gbk的错)
3、尝试了解encode、decode、ignore这些东西

回答:

那你就先别在命令行运行,丢IDEL里面,看看是否报错

回答:

看一下是不是同时装了Python2和Python3.Python2里也有input函数,但作用跟3里的input完全不同。有可能你的IDE用的python3,所以能正常运行,但cmd用的是python2,所以不正常。

回答:

unicode encode error
参考这个http://transcoder.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm@0,sz@1320_1002,ta@iphone_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中的编码问题:以ascii和unicode为主线..._博客园&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=e2c5a1d90c6a40001000000257885c4d&wd=&clk_info={"srcid":"www_normal","tplname":"www_normal","t":1468554487103,"xpath":"div-a-h3-em2"}

回答:

在所有的中文前面加一个u,例:

i=raw_input(u'石头剪刀布:\n0=石头\n1=剪刀\n2=布\n3=退出\n')

python2的inputraw_input

回答:

你的错误提示就是 cmd 命令行里面展示不出来中文啊

以上是 CMD运行一个py小程序,CMD窗口一闪而过,里面有input(),为什么还会这样? 的全部内容, 来源链接: utcz.com/a/164437.html

回到顶部