鱼C论坛

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

[已解决]能不能帮我看一下这段代码为啥不对

[复制链接]
发表于 2020-6-21 22:58:59 | 显示全部楼层 |阅读模式

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

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

x
import random
guess=random.randint(1,10)
print('猜猜我心里想什么数字?')
temp=int(input())
time=2
while (temp!=guess)and (time>0):
     print('猜错了,再猜')
     print('答案是',guess)
     time-=1
     temp=input()
if temp==guess:
   print('太聪明啦')
   print('猜对也没有奖励')
print('答案是',guess)
print('游戏结束')

即使输入正确答案也显示“猜错了,再猜”
最佳答案
2020-6-21 23:12:36
本帖最后由 Twilight6 于 2020-6-21 23:19 编辑



循环里面的代码 忘记 int 转化为整型了,因为 input 返回的是字符串,而且字符串 '1' 和整型 1 是不可能相等的

还有 input 函数里面可以直接填字符串,不用 print 然后在 input 这样比较麻烦

  1. import random

  2. guess = random.randint(1,10)
  3. temp = int(input('猜猜我心里想什么数字?'))
  4. time = 2
  5. while temp != guess and (time > 0):
  6.     time -= 1
  7.     temp = int(input('猜错了,再猜'))

  8. if temp == guess:
  9.     print('太聪明啦')
  10.     print('猜对也没有奖励')
  11. else:
  12.     print('答案是', guess)
  13. print('游戏结束!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-21 23:12:36 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-21 23:19 编辑



循环里面的代码 忘记 int 转化为整型了,因为 input 返回的是字符串,而且字符串 '1' 和整型 1 是不可能相等的

还有 input 函数里面可以直接填字符串,不用 print 然后在 input 这样比较麻烦

  1. import random

  2. guess = random.randint(1,10)
  3. temp = int(input('猜猜我心里想什么数字?'))
  4. time = 2
  5. while temp != guess and (time > 0):
  6.     time -= 1
  7.     temp = int(input('猜错了,再猜'))

  8. if temp == guess:
  9.     print('太聪明啦')
  10.     print('猜对也没有奖励')
  11. else:
  12.     print('答案是', guess)
  13. print('游戏结束!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 00:20:28 | 显示全部楼层
本帖最后由 吕知远 于 2020-6-22 00:27 编辑

import random
guess=random.randint(1,10)
print('猜猜我心里想的是什么数字?(1-10之间)')

time=2
while time<=2 and time>0:
        temp=int(input('请输入您猜测的数字吧:'))
        if temp==guess:
                print('太聪明了,您猜对了!')
                break
        else:
                print('猜错了!')
                time-=1
#如果第一次猜错了,只允许再猜一次.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 07:31:16 | 显示全部楼层
吕知远 发表于 2020-6-22 00:20
import random
guess=random.randint(1,10)
print('猜猜我心里想的是什么数字?(1-10之间)')


你的 while 循环 time <= 2 是多余的,可以去掉
然后将条件多一个判断 temp 是否等于 guess 的也可以去掉 break了:
  1. import random
  2. guess=random.randint(1,10)
  3. temp = 0
  4. time=2
  5. print('猜猜我心里想的是什么数字?(1-10之间)')
  6. while temp!=guess and time > 0:
  7.         temp=int(input('请输入您猜测的数字吧:'))
  8.         if temp==guess:
  9.                 print('太聪明了,您猜对了!')
  10.         else:
  11.                 print('猜错了!')
  12.                 time-=1
复制代码



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 08:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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