鱼C论坛

 找回密码
 立即注册
查看: 2433|回复: 17

[已解决]python的问题求大佬解决。

[复制链接]
发表于 2020-4-4 15:23:16 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
下面的这个帮我看看哪里出错了,我找不出来。
print("<----------欢迎来到猜数字游戏---------->")
temp =input("不妨猜一下晨天现在心里的数字是什么吧:")
guess = int(temp)
while guess !=8:
    temp = input("哎呀!猜错了,请重新输入吧:")
    guess = int(temp)
    if guess ==8:
        print("哎呀,你是晨天心里的蛔虫吗")
        print("啍,猜对了也没有奖励")
    else:
        if guess > 8:
            print("大了,大了")
        else:
            print("小了,小了")
print("游戏结束,不玩了")
       这个有的tab没有显示出来了,只看字就行了
下面是错误的
不妨猜一下晨天现在心里的数字是什么吧:6
哎呀!猜错了,请重新输入吧:67
大了,大了
哎呀!猜错了,请重新输入吧:7
小了,小了
哎呀!猜错了,请重新输入吧:79
大了,大了
哎呀!猜错了,请重新输入吧:9
大了,大了
哎呀!猜错了,请重新输入吧:程序执行遇到了特殊错误,请检查您的程序符号是否正常,尤其是C/C++等语言是否错误将中文;当作英文;使用!
最佳答案
2020-4-4 19:27:18
本帖最后由 kingliao 于 2020-4-4 19:30 编辑

你用了两次input(),一次循环外,一次循环内,第一次输入的时候是在循环外,没有说大了还是小了,后面每次输入都是在while循环内的那个input输入,后面没有跳出循环。
可以增加一个计数变量,用它判断跳出循环的条件。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-4 15:25:00 From FishC Mobile | 显示全部楼层
求大佬解决
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 15:25:20 | 显示全部楼层
程序没有问题啊:

  1. <----------欢迎来到猜数字游戏---------->
  2. 不妨猜一下晨天现在心里的数字是什么吧:5
  3. 哎呀!猜错了,请重新输入吧:89
  4. 大了,大了
  5. 哎呀!猜错了,请重新输入吧:8
  6. 哎呀,你是晨天心里的蛔虫吗
  7. 啍,猜对了也没有奖励
  8. 游戏结束,不玩了
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 15:26:49 | 显示全部楼层
  1. print("<----------欢迎来到猜数字游戏---------->")
  2. while True:
  3.     temp =input("不妨猜一下晨天现在心里的数字是什么吧:")
  4.     guess = int(temp)
  5.     if guess ==8:
  6.         print("哎呀,你是晨天心里的蛔虫吗")
  7.         print("啍,猜对了也没有奖励")
  8.         break
  9.     else:
  10.         if guess > 8:
  11.             print("大了,大了")
  12.         else:
  13.             print("小了,小了")
  14. print("游戏结束,不玩了")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 15:30:07 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-4 15:25
程序没有问题啊:

我也不知道怎么回事,它显示的是
不妨猜一下晨天现在心里的数字是什么吧:6
哎呀!猜错了,请重新输入吧:67
大了,大了
哎呀!猜错了,请重新输入吧:7
小了,小了
哎呀!猜错了,请重新输入吧:79
大了,大了
哎呀!猜错了,请重新输入吧:9
大了,大了
哎呀!猜错了,请重新输入吧:程序执行遇到了特殊错误,请检查您的程序符号是否正常,尤其是C/C++等语言是否错误将中文;当作英文;使用!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 15:30:43 | 显示全部楼层
大耳朵图图是你 发表于 2020-4-4 15:30
我也不知道怎么回事,它显示的是
不妨猜一下晨天现在心里的数字是什么吧:6
哎呀!猜错了,请重新输入吧: ...

你是如何运行的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 15:32:48 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-4 15:30
你是如何运行的?

用手机啊,好像好了(●°u°●)」
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 15:35:01 | 显示全部楼层
大耳朵图图是你 发表于 2020-4-4 15:32
用手机啊,好像好了(●°u°●)」

呃,为什么不在电脑上运行呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 15:37:33 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-4 15:35
呃,为什么不在电脑上运行呢?

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

使用道具 举报

 楼主| 发表于 2020-4-4 15:38:24 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-4 15:35
呃,为什么不在电脑上运行呢?

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

使用道具 举报

发表于 2020-4-4 15:38:29 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 15:39:27 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2020-4-4 15:38
现在正常了?

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

使用道具 举报

发表于 2020-4-4 15:54:28 | 显示全部楼层
guess != 8 这个当判断条件不妥,假如第一次输入的是8,那么while循环体就不执行,直接跳到最后print。
  1. print('<------欢迎来到猜数字游戏------>')

  2. while True:
  3.     temp = input('不妨猜一下小甲鱼现在心里想的数字是多少:')
  4.     number = int(temp)

  5.     if number == 8:
  6.         print('我草,你是小甲鱼肚子里面的蛔虫吗?')
  7.         print('哼,猜对也没有奖励!')
  8.         break #结束循环

  9.     elif number > 8:
  10.         print('大兄弟,大啦,大啦')
  11.    
  12.     elif number < 8:
  13.         print('大妹子,小啦,小啦')

  14. print('游戏结束,不玩了')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 18:13:56 | 显示全部楼层
不知道你发现没有,你用了两次input(),一次循环外,一次循环内,第一次输入的时候是在循环外,故没有说大了还是小了,后面每次输入都是在while循环内的那个input输入,因为后面根本没有跳出循环。
改进方法可以增加一个计数变量,用它判断跳出循环的条件。觉得对的话望采纳啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 18:50:44 | 显示全部楼层
本帖最后由 雨留下的印记 于 2020-4-4 18:53 编辑

你这判断条件有点问题,while guess  != 8,当第一次输入8时,会直接显示游戏结束,并不会进入while循环。而且第一次猜错没有给出结果是大了还是小了。
print("-----来玩个猜数字游戏吧!-----")
guess = 0
answer = 8
print("不妨猜一下我现在心里想的是哪个数字:", end=" ")
while (guess !=answer) :
    temp = input()
    guess = int(temp)
    if guess == answer :
        print("卧槽,你是我心里的小蛔虫吗?!")
        print("哼,猜中也没有奖励哦")
    else:
        if guess > answer:
            print("猜错了,大了大了")
            print("再试一次吧:", end=" ")
        else :
            print('猜错了,小了小了')
            print("再试一次吧:", end=" ")
print('游戏结束,不玩啦^-^')

我也是第一次帮忙解决问题,不知到怎么弄成可以直接点击复制的代码!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 19:27:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 kingliao 于 2020-4-4 19:30 编辑

你用了两次input(),一次循环外,一次循环内,第一次输入的时候是在循环外,没有说大了还是小了,后面每次输入都是在while循环内的那个input输入,后面没有跳出循环。
可以增加一个计数变量,用它判断跳出循环的条件。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-5 10:07:57 | 显示全部楼层
  1. import random
  2. answer=random.randint(1,15)
  3. time=5
  4. print("-----I am destiny-----")
  5. print("你只有5次机会")

  6. while time:
  7.     temp = input("猜猜我在想0-15中的哪个数字:")
  8.     guess = int(temp)
  9.     if guess == answer:
  10.             print("。。。")
  11.             print("恭喜你!")
  12.             break
  13.     else:
  14.         if guess<answer:
  15.             time -= 1
  16.             print("嘿,小了,小了")
  17.             print("您还有%d次机会,再试一次吧" % time)
  18.             continue
  19.         else:
  20.             time -= 1
  21.             print("大了,大了")
  22.             print("您还有%d次机会,再试一次吧" % time)
  23.             continue

  24. print("游戏结束")
复制代码


给你参考一下吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-5 11:44:49 From FishC Mobile | 显示全部楼层
天假之名 发表于 2020-4-5 10:07
给你参考一下吧

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-30 18:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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