15777772319 发表于 2019-12-23 11:01:49

python第一个小游戏之温故

学python有一定时间了,但是因为学历有限,时间也不是很多,看到后面有点迷糊了,回头温习一下刚开始做的小游戏,一点一点的吃透然后再继续,
我想基础扎实点再前进吧,慢慢来,反正我不急
import random    #import(引入)random(随机数)
times = 3 #3次机会
secret = random.randint(1,10)#secret(密码)   randint(n,m)产生的是一个n*m维的矩阵
print('———我爱鱼C工作室—————')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
print("不妨猜一下小甲鱼现在心里想的数哪个数字:",end=" ")
#while(循环)(后面接条件,条件为真则进入循环,假则条出循环)
#and(与门:一假则假,全真才真)or(或门:一真则真,全假才假)
#not(非门:真假互换)
while (guess != secret)and(times > 0):#注意要带冒号
    temp = input()#给temp赋一个需要我们输入的值,"input()"(输入)
    guess = int(temp)#int(整数类型数据),此处意思是只能输入整数,否则报错
    times = times - 1 # 用户每输入一次,可用机会就-1
    if guess == secret:#如果输入的数字刚好等于随机数
      print("恭喜你中奖了")#输出中奖信息
      print("获得劳斯莱斯100.00元购车劵一张")
    else:#与if相反的条件,即没有猜对
      if guess > secret:#既然相反,到底是大了还是小了呢,此处为如果大了。
            print("大了,大了")#提示用户大了
      else:#与if相反的话,则默认是guess < secret
            print("小了,小了")#提示用户小了
      if times > 0:
            print('再接再厉!你还有',times,'次机会,加油!')
            #因为设置了3次机会,每次机会提示还有多少次机会
            #双引号里的是固定输出的字符串,(,times,)括号里的为直接引入值
      else:#即times !> 0的时候
            print("你与大奖擦肩而过,少侠请重新来过")
print("期待你下次再来玩!")

基因突变 发表于 2019-12-24 11:45:58

我是新手。
正在学习这个游戏。
但是我有点不理解为什么开头要给guess赋值,而且这个值不能在randint(n,m)内呢?我一开始看到的时候就试了一次将guess赋值而且这个值在(n,m)内,程序还是能正常进行。这又是为什么?
我发现自己好无知什么也不知道。请大神解答。

15777772319 发表于 2019-12-26 08:38:38

基因突变 发表于 2019-12-24 11:45
我是新手。
正在学习这个游戏。
但是我有点不理解为什么开头要给guess赋值,而且这个值不能在randint(n,m ...

按照我的理解,guess 绝对不能等于 secret
我的第12行那里已经有条件了
while (guess != secret)and(times > 0):
如果刚好随机数等于你的guess赋值,那么就不能满足进入循环的条件了,游戏直接结束,算是一个小BUG。
以上
页: [1]
查看完整版本: python第一个小游戏之温故