python:python2版本和python3版本闹出来的纠结

我将在学习Python的路上,一路狂奔……

这里写图片描述

在下载安装python的时候,有python2和python3两个版本,当时没有想那么多,就下载了python3.5的版本,本想着新版本都是大趋所向,那就一步到位吧。
一路的下载安装,配置eclipse集成开发环境,写了一个python脚本

代码

#coding=utf-8
import random

print('************zwf study python************')
flag = False
count = 1
while flag == False and count <=3 :
    num = random.randint(1,10)
    print(num)
    guess = input('输入你猜的数字')
    print(type(guess))
    try: 
        guess = int(guess)
    except Exception as zwf :
        print(zwf)
        print('请输入数字')
        continue

    if guess > num:
        print('猜大了,猜了',count,'次')
        count = count+1
    elif guess == num:
        print('猜对了,猜了',count,'次')
        break
    else:
        print('猜小了,猜了',count,'次')
        count = count+1
print('游戏结束')

这是一个猜数字的游戏,程序随机生成一个1-10的随机整数,输入猜测的数字,两者进行比较,猜对了则游戏结束,猜错了会提示是猜大了还是猜小了,总共有3次机会。

#coding=utf-8

在最前端加上这一行代码,是解决由于编码不同而引起的中文乱码的问题。


中文乱码

因为我比较好学啊(哈哈),在家里也会敲敲代码,按照上面的代码原封不动的在自己的笔记本上敲了一遍,可是在运行的时候,中文出现了乱码,很是疑惑。为什么会这个样子呢 ?
查资料,改文件的编码格式utf8,我没有使用decode,encode这些方法进行处理,我就是想要#coding=utf-8起作用,我是一个死磕的人。
同样的代码不应该出问题才对,不是代码的问题,难道是环境的问题?我查了一下python的版本,一瞅,python2版本的,公司的是python3版本的,python3运行起来中文不会乱码没毛病的,莫非是不同版本造成的问题?
试试,立马卸载python2,安装python3,一切就绪,运行代码,哈哈,中文没有乱码,就是python不同版本的兼容问题造成的。

语法的书写

还有另外一个,因版本不同导致的语法书写不同,而导出的乌龙。
教程是这样写的:

try:
<语句>        #运行别的代码
except <名字>:
<语句>        #如果在try部份引发了'name'异常
except <名字>,<数据>:
<语句>        #如果引发了'name'异常,获得附加的数据
else:
<语句>        #如果没有异常发生

except <名字>,<数据> 中间呢是个逗号,但是按照这样写,

try: 
        guess = int(guess)
    except Exception , zwf :
        print(zwf)
        print('请输入数字')
        continue

运行结果:提示语法错误

 except Exception , zwf :
                     ^
SyntaxError: invalid syntax

真的是无线懵逼啊,各种百度,各种查,也是无意间瞄到了,except Exception as …… ,难道逗号应该是 as,改一下试试,so~

try: 
        guess = int(guess)
    except Exception as zwf :
        print(zwf)
        print('请输入数字')
        continue

这样运行就通过了。
except <名字>,<数据>: 逗号是python2的语法书写
except <名字>as <数据>: 逗号是python3的语法书写

总结

这些可也都是坑啊,我也是第一次认识到版本不同会带来这么大的影响,以后我会慎重对待版本这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨水的早晨

程序媛也得攒钱植发啊~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值