今天安装完环境和运行程序后正式开始了python的学习之旅。从b站上找了一个视频课程从0开始学起,刚刚把if语句看完,就试着做了一个猜拳游戏。
'''
石头:0
剪刀:1
布:2
'''
# 导入随机库
import random
y = input("请输入你要出的数字:")
try: #通过捕捉异常来进行判断输入的是否是整数 字符串和小数都会报 ValueError 的异常
type(int(y))
except ValueError as e:
print("输入的不是整数")
else:
y = int(y)
if type(y) is int:
print("输入的是整数")
if y>=0 and y<=2: #在是数字的情况下判断输入的是否在0到2之间
print("输入的数字在0到2之间")
#验证完输入的数字在范围内后,进行猜拳游戏
x = random.randint(0, 2) # 获取0到2范围之间的随机整数
print("系统出", x)
if x==0 and y==1:
print("石头对剪刀,你输了")
elif x==0 and y ==2:
print("石头对布,你赢了")
elif x==1 and y==0:
print("剪刀对石头,你赢了")
elif x==1 and y==2:
print("剪刀对布,你输了")
elif x==2 and y==0:
print("布对石头,你输了")
elif x==2 and y==1:
print("布对剪刀,你赢了")
elif x==y:
print("出的一样,平局")
else:
print("输入的数字不在0到2之间")
else:
print("已经不需要这步判断了")
我这边是使用的是异常处理的方式来解决输入的内容为整数,如果按照js或者Java语法来说,应该会有专门处理字符串函数可以逐个对应解决或者使用for循环遍历解决也可以使用正则表达式来解决,方法很多,但是我今天刚刚才学python刚刚看完if语句,还是一步一步来比较好,等回头学到了再完善。
写完猜拳游戏刚刚突然又想到学Java,学c的时候对于if语句最经典的判断闰年问题,就顺手也写了一下。
'''
闰年的计算方式:可以被400整除或者可以被4整除而不能被100整除
'''
year = input("请输入年份:")
try:
type(int(year))
except ValueError as e:
print("输入的不是整数")
else:
year = int(year)
if year%400==0 or (year%4==0 and year%100!=0):
print("这是闰年")
else:
print("这不是闰年")
总结:
python中的语法要求没有Java那么严格,就比如每一行代码结束不需要加分号,只需要换行就可以。但是 python对于 空格的使用异常严格,例如if语句中必须排整齐,否则就给你报错。而正因此,python代码具有很好的可读性与简洁性,这可能就是人们口中所说的pathon简单缺又很优美的原因吧。
不过python中输入函数input()输入的数据打印出来为字符串形式,所以当我们如果需要使用数字中就需要使用int()来进行强制转换了,也因此会有报错的风险。如果输入的为“abc”那种真正的字符串而并非数字,那么强制转换就无法转,导致报错报ValueError。因此如果需要对输入的内容进行强制转换的话,那么就需要有异常处理,使用try语句对可能抛出的错误自定义。这样使得代码更完整更加健壮。