鱼C论坛

 找回密码
 立即注册
查看: 1160|回复: 3

[已解决]有大佬给我解释一下红色部分吗?

[复制链接]
发表于 2022-5-5 17:01:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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("游戏结束,不玩啦^_^")
最佳答案
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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-5 17:23:14 | 显示全部楼层
Twilight6 发表于 2022-5-5 17:14
这里是红色部分的代码,看看这的注释,应该能理解:

# 若要进入循环就要初始化一个一定不为 随机数的值
guess = 0
如果赋的值在随机生成1-10之间的值会怎么样呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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



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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 12:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表