离小熊 发表于 2022-5-5 17:01:20

有大佬给我解释一下红色部分吗?

import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
    temp = input()
    guess = int(temp)
    times = times - 1 # 用户每输入一次,可用机会就-1
    if guess == secret:
      print("我草,你是小甲鱼心里的蛔虫吗?!")
      print("哼,猜中了也没有奖励!")
    else:
      if guess > secret:
            print("哥,大了大了~~~")
      else:
            print("嘿,小了,小了~~~")
      if times > 0:
            print("再试一次吧:", end=" ")
      else:
            print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")

Twilight6 发表于 2022-5-5 17:14:23


这里是红色部分的代码,看看这的注释,应该能理解:

import random                     # 导入随机数模块
times = 3                           # 设置猜测机会次数
secret = random.randint(1,10)       # 调用随机模块的随机整数方法 randint,随机生成 1~10 整数
print('------------------我爱鱼C工作室------------------')

# 初始化猜测数,因为进入循环需要进行判断
# 若要进入循环就要初始化一个一定不为 随机数的值
guess = 0

# print 函数中有个默认参数 end 默认值为换行符
# 即 end = '\n' 这也是为什么 print 函数会自动换行的原因
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")

# while 循环判断 用户猜测的数(guess) 是否等于随机数,若等于,则猜对了,游戏结束退出循环
# 第二个循环条件是判断猜测机会是否大于 0 ,若没有猜测机会了,那么也退出循环
while (guess != secret) and (times > 0):

    # input 接收用户输入,并返回字符串给变量 temp
    temp = input()

    # 因为 temp 是字符串,不能直接与数字进行比较大小,所以需要转换成 int 整形
    guess = int(temp)

    # 猜测机会 -1
    times = times - 1

离小熊 发表于 2022-5-5 17:23:14

Twilight6 发表于 2022-5-5 17:14
这里是红色部分的代码,看看这的注释,应该能理解:

# 若要进入循环就要初始化一个一定不为 随机数的值
guess = 0
如果赋的值在随机生成1-10之间的值会怎么样呢

Twilight6 发表于 2022-5-5 17:24:39

离小熊 发表于 2022-5-5 17:23
# 若要进入循环就要初始化一个一定不为 随机数的值
guess = 0
如果赋的值在随机生成1-10之间的值会怎么 ...



会导致如果 guess 正好等于此时生成的随机数,就直接使得 while 循环都进不去程序就结束了

因为 while 循环的第一个条件就是判断 guess 不等于 生成的随机数

页: [1]
查看完整版本: 有大佬给我解释一下红色部分吗?