用python写了个简单的小程序,在CMD下运行,print输出的是乱码,怎么解决?

如下代码在windows CMD里运行:

#coding:utf-8
while True:
        print "请输入一个年份"
        a = input()
        print a
        if a == 0:
                break
        if a%4 == 0 and a%100 != 0:
                print '您输入的%d是闰年。' %a
        elif a%400 == 0:
                print '您输入的%d是闰年。' %a
        else:
                print '您输入的%d不是闰年。' %a

运行会出现文字乱码

图片描述

在网上查找资料说输入chcp 936,并没有什么作用。

请问,这个问题怎么解决?

阅读 5.6k
2 个回答

Python2的编码问题, 前面加个u吧

#coding=utf-8
while True:
        print u"请输入一个年份"
        a = input()
        print a
        if a == 0:
                break
        if a%4 == 0 and a%100 != 0:
                print u'您输入的%d是闰年。' %a
        elif a%400 == 0:
                print u'您输入的%d是闰年。' %a
        else:
                print u'您输入的%d不是闰年。' %a

或者直接在开头添上一行

from __future__ import unicode_literals

楼上的已经说了方法了。我补充一句,不要给代码目录的文件夹写个中文名。

推荐问题