ホームページ  >  に質問  >  本文

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中文网2741日前673

全員に返信(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にもinput関数がありますが、3のinputとは全く機能が異なります。 IDE は python3 を使用しているため、正常に実行できますが、cmd は python2 を使用しているため、正しく動作しない可能性があります。

    返事
    0
  • 伊谢尔伦

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

    Unicode エンコード エラー
    こちらを参照してください 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&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 %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&eq id=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
  • キャンセル返事