我将在学习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的语法书写
总结
这些可也都是坑啊,我也是第一次认识到版本不同会带来这么大的影响,以后我会慎重对待版本这个问题。