首先打开Python编辑器(见python.org下载)。
开始写代码。首先,需要一个随机库(要猜到的数应该连程序员自己都不知道)。
import random
#或者是from random import randint
好了,有了库,现在命名要猜到的数,当然,最好是整数,不然的话谁还会玩你的游戏?要猜到的数叫goal吧,范围小一点,0到10之间。
goal = random.randint(0,10)
OK,再设置一个玩家输入变量num吧。
num = int(input("请输入一个0到10的整数"))
对了,玩家输入的数必须是整数,不是整数或浮点数会报错,现在把上面的代码改一下。
num = input("输入一个0到10的整数:")
try:
num = int(num)
except:
print("警告,请输入一个整数:")
好了,现在到了最关键的时候了,现在要判断玩家输入的数和随机到的数一不一样。如何判断呢?当玩家输入的数(num)和随机到的数(goal)一样时,输出 “猜对啦 ”,代码如下:
if num == goal :
print("猜对啦!!!")
当num大于goal时,输出“猜大了”。
if num > goal:
print("猜大了。")
当num小于goal时,输出“猜小了”。
if num < goal:
print("猜小了。")
OK,第一阶段的代码就到这里,完整代码:
import random
#或者是from random import randint
goal = random.randint(0,10)
num = input("输入一个0到10的整数:")
#注意↓ ↓ ↓ ↓ ↓
try:
num = int(num)
except:
print("警告,请输入一个整数:")
#在这里的异常处理在下面判断会有问题,我会在第二阶段讲解。
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
现在有一个问题先解决再说,当num输入的不是数字(整数或小数)时,编辑器在异常处理的同时会报错,如图:
输入一个0到10的整数:q
警告,请输入一个整数:
Traceback (most recent call last):
File "C:/Users/Administrator/Python/Python38-32/猜数游戏.py", line 14, in <module>
if num > goal:
TypeError: '>' not supported between instances of 'str' and 'int'
原来代码直接执行到了判断而玩家还没有重新输入,所以应当把判断改到异常处理当中。
try:
num = int(num)
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
except:
print("警告,请输入一个整数:")
现在没有报错了,但是玩家还是无法重新输入,先把print改为input,然后判断。
try:
· · · · · ·
except:
num = input("警告,请输入一个整数:")
#接下来的步骤同上
num = int(num)
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
但是玩家只能猜一次,我们改为5次,但首先代码太难写了,所以先把判断的代码装进choose函数。
注意:函数内的变量要是全局变量,所以要在num和goal前先申明全局变量。
import random
global num,goal
goal = random.randint(0,10)
num = input("输入一个0到10的整数:")
try:
num = int(num)
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
except:
num = input("警告,请输入一个整数:")
num = int(num)
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
声明了全局变量,现在声明函数。
import random
global num,goal
goal = random.randint(0,10)
num = input("输入一个0到10的整数:")
#这是编写的函数
def choose():
num = int(num)
if num == goal :
print("猜对啦!!!")
if num > goal:
print("猜大了。")
if num < goal:
print("猜小了。")
#
try:
choose()
except:
num = input("警告,请输入一个整数:")
choose()