鱼C论坛

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

[已解决]while学的有点迷糊

[复制链接]
发表于 2022-12-22 16:29:55 | 显示全部楼层    本楼为最佳答案   
本帖最后由 无理想的闲鱼 于 2022-12-22 16:31 编辑
  1. import random
  2. secret = random.randint(1, 10) #秘密是1到9中任意一个整数
  3. times = 2
  4. temp = input("不妨猜一下小甲鱼现在心里想的那个数字:") # input()输入的内容属于str 类型的数据
  5. while type(temp) == type(1):#str和int永远不能相等
  6.     print("抱歉,输入不合法,",end="")
复制代码

首先,你要明白input()输入的内容属于str 类型的数据,str和int永远不能相等
其次,我帮你整理了一下,
  1. import random
  2. secret = random.randint(1,10)
  3. times = 2
  4. guess = int(input("不妨猜一下小甲鱼现在心里想的那个数字(范围1-9):"))#将temp的类型转化成int
  5. while guess < 1 or guess > 9:#如果输入的数字不合法,会让你一直输入正确位置才进行下一步
  6.     print("抱歉,输入不合法,请再输入一次")
  7.     guess = int(input("不妨猜一下小甲鱼现在心里想的那个数字(范围1-9):"))
  8. while times > 0: #我设置的是2次机会
  9.     if times == 2:
  10.         if guess == secret:
  11.             print("你是小甲鱼心里的蛔虫吗?","哼,猜中了也没有奖励",sep="\n")
  12.             break #猜中了就跳出while循环
  13.         elif guess > secret:
  14.         #elif 在Python语言中可用于代替如下斜体加粗的部分(else-if)
  15.         #在guess != secret的条件下,再多一个条件
  16.             print("猜错了,大了大了~")
  17.         elif guess < secret:
  18.             print("猜错了,小了,小了!")
  19.     if times == 1:
  20.         guess == int(input("重新输入一个吧:"))
  21.         if guess == secret:
  22.             print("bingo!终于答对了","哈哈,答对了也没有奖励!",sep="\n")
  23.         else:
  24.             print("没猜中哦,机会用光了哦!")
  25.     times -= 1 #简写版,就相当于times = times - 1
复制代码


有需求再提
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-5 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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