鱼C论坛

 找回密码
 立即注册
查看: 2030|回复: 4

菜鸟求组

[复制链接]
发表于 2017-12-11 21:08:51 | 显示全部楼层 |阅读模式

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

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

x
求助大家,小甲鱼作业中的这段代码,guess 和 temp 这两个变量代表什么?为什么不能只用temp?  感谢大家

import random

times = 3
secret = random.randint(1,10)

print('-----------------我爱鱼C工作室--------------')
guess = 0
print('猜一下小甲鱼心里想的是哪个数字: ', end = "")

while (guess != secret) and (times > 0):
    temp = input()

    if temp.isdigit():
        guess = int(temp)
        if guess == secret:
            print('猜中了也没有奖励')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-11 21:12:16 | 显示全部楼层
temp = input() 这里他是一个字符串,要int()后再赋值给guess才能和secret作比较。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-13 10:10:44 | 显示全部楼层
你可以写guess = int(input("......."))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-10 03:18:51 | 显示全部楼层
正如楼上,其实写成 guess = int(input("...")) 也是可以的……

咱可以把代码写成这样:

  1. import random

  2. times = 3
  3. secret = random.randint(1,10)

  4. print('-----------------我爱鱼C工作室--------------')
  5. guess = 0
  6. print('猜一下小甲鱼心里想的是哪个数字: ', end = "")

  7. while (guess != secret) and (times > 0):
  8.     guess = int(input())

  9.     if temp.isdigit():
  10.         if guess == secret:
  11.             print('猜中了也没有奖励')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-10 10:43:31 | 显示全部楼层
小甲鱼 发表于 2018-1-10 03:18
正如楼上,其实写成 guess = int(input("...")) 也是可以的……

咱可以把代码写成这样:

if temp.isdigit():这一句里的temp哪里冒出来的?
如果是guess也不对,前边都用int函数了,后边怎么能用isdigit呢?
一楼楼主程序编的有些诡异,我逐句解释下,看看能不能帮到楼猪。
下边是作者的源程序:
import random
times = 3       #这里为什么要写3?如果是制定猜想次数,后边对time也没有操作,比如times -=1之类的,如果不是次数,那么随便一个大于0的整数都可以。
secret = random.randint(1,10)   
print('-----------------我爱鱼C工作室--------------')
guess = 0      # 先给个初始值初始化下这个值是0肯定就不等于secret(范围在1到10)所以就肯定会进入下边那个while的循环里边。
print('猜一下小甲鱼心里想的是哪个数字: ', end = "")
while (guess != secret) and (times > 0):
    temp = input()   #这里用temp是为了后边搭桥配合isdigit函数,来判断输入的内容是不是全是数字,以防止好奇宝宝输入字母,如果有字母在碰到后边把字符串变成数字的好比较大小的int函数就会出错。
#如果你直接用guess=int(input())来把收入的内容直接变成数字好比较大小,那么如果输入的是字母就会报错,我想这应该能诠释你心里的问题了吧!
    if temp.isdigit(): #判断输入如果全是数字就变成数值类型,如果有字母对不起不搭理你,你直接重新输入吧!哈哈这风格比较怪异。
        guess = int(temp)
        if guess == secret:
            print('猜中了也没有奖励')  #上边这几句不需要解释了吧!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 12:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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