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

xiaoxiao2021-02-27  332

我将在学习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的语法书写

总结

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

转载请注明原文地址: https://www.6miu.com/read-1754.html

最新回复(0)