찾다

 >  Q&A  >  본문

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

请各位赐教!

PHP中文网PHP中文网2815일 전718

모든 응답(7)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 09:07:58

    으아악

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:07:58

    먼저 입력이 있는데 왜 이런 일이 발생하는 걸까요?
    답변: input()이 실행되기 전에 오류가 발생했기 때문입니다.
    무슨 오류인가요?
    답변: 파일을 읽을 때 인코딩 오류가 발생했습니다. 즉, 일부 문자를 읽을 수 없습니다.
    해결책:
    1. IDE로 실행하세요.
    2. Linux 가상 머신으로 실행합니다. (결론적으로 보면 여전히 windows gbk의 잘못입니다)
    3. 인코딩, 디코딩, 무시 등을 이해하려고 노력하세요

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-18 09:07:58

    그런 다음 먼저 명령줄에서 실행하지 말고 IDEL에 넣고 오류가 있는지 확인하세요

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:07:58

    Python2와 Python3가 동시에 설치되어 있는지 확인하세요. Python2에도 입력 기능이 있지만 그 기능은 3의 입력과 완전히 다릅니다. 사용하시는 IDE에서는 python3을 사용하기 때문에 정상적으로 실행이 되지만, cmd에서는 python2를 사용하기 때문에 제대로 동작하지 않을 가능성이 있습니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:07:58

    유니코드 인코딩 오류
    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

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 09:07:58

    모든 한자 앞에 u를 추가하세요. 예:

    으아악

    python2의 inputraw_input

    입니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:07:58

    cmd 명령줄에 중국어 문자를 표시할 수 없다는 오류 메시지가 있습니다

    회신하다
    0
  • 취소회신하다