鱼C论坛

 找回密码
 立即注册
查看: 1542|回复: 15

[已解决]大佬们帮帮忙!

[复制链接]
发表于 2020-6-30 17:44:07 | 显示全部楼层 |阅读模式

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

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

x
print("你几点出来?")
temp = input("输入,如5:00的形式:")
guess = temp
while guess != "4:30":
    temp = input("输入,如5:00的形式:")
    guess = temp
    if guess == "4:30":
        print("好吧,等你哟~")
        print("分别输两遍"/exit()/"退出")
        temp = input("输入:")
        if temp == "exit":
            exit
    else:print("你的答案我不满意,重输!")
帮忙看看哪错了?
最佳答案
2020-6-30 17:52:34
本帖最后由 Twilight6 于 2020-6-30 17:56 编辑


你的 print("分别输两遍"/exit()/"退出") 错了,你这样是意思调用 exit 函数是会退出程序的

应该写成字符串: print("分别输两遍 exit 退出")

然后你这里的:
if temp == "exit":
            exit

忘记加上括号 是不会退出的

正确代码:
  1. print("你几点出来?")
  2. guess = input("输入,如5:00的形式:")

  3. while guess != "4:30":
  4.     guess = input("输入,如5:00的形式:")
  5.    
  6.     if guess == "4:30":
  7.         print("好吧,等你哟~")
  8.         print("分别输两遍 exit 退出")
  9.         temp = input("输入:")
  10.         if temp == "exit":
  11.             temp = input("输入:")
  12.             if temp == "exit":
  13.                 exit()
  14.     else:print("你的答案我不满意,重输!")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-30 17:48:54 | 显示全部楼层
  1. while True:
  2.     guess = input("输入,如5:00的形式:")
  3.     if guess == "4:30":
  4.         print("好吧,等你哟~")
  5.         print("分别输两遍, exit退出")
  6.         guess = input("输入:")
  7.         if guess == "exit":
  8.             break
  9.     else:
  10.         print("你的答案我不满意,重输!")
复制代码

这样可以吗,没看懂你代码思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 17:52:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-30 17:56 编辑


你的 print("分别输两遍"/exit()/"退出") 错了,你这样是意思调用 exit 函数是会退出程序的

应该写成字符串: print("分别输两遍 exit 退出")

然后你这里的:
if temp == "exit":
            exit

忘记加上括号 是不会退出的

正确代码:
  1. print("你几点出来?")
  2. guess = input("输入,如5:00的形式:")

  3. while guess != "4:30":
  4.     guess = input("输入,如5:00的形式:")
  5.    
  6.     if guess == "4:30":
  7.         print("好吧,等你哟~")
  8.         print("分别输两遍 exit 退出")
  9.         temp = input("输入:")
  10.         if temp == "exit":
  11.             temp = input("输入:")
  12.             if temp == "exit":
  13.                 exit()
  14.     else:print("你的答案我不满意,重输!")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 18:07:32 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-6-30 19:24 编辑

exit 建议换成 break

或者按照楼上的方法也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 22:35:44 | 显示全部楼层

欢迎各位大佬指导/改进(可以的话来个最佳哦)(第一次写回复呢)

本帖最后由 2291437529 于 2020-6-30 22:58 编辑
  1. print("你几点出来?")
  2. temp = input("输入,如5:00的形式:")
  3. guess = temp
  4. while guess != "4:30":
  5.     print("你的答案我不满意,重输!")
  6.     temp = input("输入,如5:00的形式:")
  7.     guess = temp
  8. print("好吧,等你哟~")
  9. print("分别输两遍exit退出")
  10. temp = input("输入:")
  11. while temp != "exit":
  12.     temp = input("不对哦,再来:")
  13. temp = input("再输一遍哦:")
  14. while temp != "exit":
  15.     temp = input("错啦,再来:")
  16. if temp == "exit":
  17.     print("拜拜~")
  18.     exit
复制代码
鱼C萌新互助.jpg
鱼C萌新互助2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 22:38:45 | 显示全部楼层
本帖最后由 2291437529 于 2020-6-30 22:40 编辑
qiuyouzhi 发表于 2020-6-30 17:48
这样可以吗,没看懂你代码思路


你的代码,到了退出的时候,不输入exit就会从头开始判断,而且exit只输入一次就over了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 22:47:03 | 显示全部楼层
Twilight6 发表于 2020-6-30 17:52
你的 print("分别输两遍"/exit()/"退出") 错了,你这样是意思调用 exit 函数是会退出程序的

应该写成 ...

你的代码,如果一开始就输入的是4:30的话,就会直接结束,什么反馈都不会有。只有第一次不是正确答案,而后面有正确答案的时候才会进入while循环体。并且由于if语句不存在重复判断关系,无论在后面输入什么内容,都会退出程序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 22:50:13 | 显示全部楼层
2291437529 发表于 2020-6-30 22:47
你的代码,如果一开始就输入的是4:30的话,就会直接结束,什么反馈都不会有。只有第一次不是正确答案,而 ...



这个我们怎么不知道? 我们是帮助楼主改错,如果想改进,这还不简单?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 22:57:21 | 显示全部楼层
Twilight6 发表于 2020-6-30 17:52
你的 print("分别输两遍"/exit()/"退出") 错了,你这样是意思调用 exit 函数是会退出程序的

应该写成 ...

emmmm,exit没有括号,也能退出。可能这就是python吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-30 23:01:32 | 显示全部楼层
2291437529 发表于 2020-6-30 22:57
emmmm,exit没有括号,也能退出。可能这就是python吧。



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

使用道具 举报

发表于 2020-7-1 02:30:33 | 显示全部楼层
Twilight6 发表于 2020-6-30 23:01
建议测试过在说....

我测试过了,并且我之前回复楼主的贴子里,我的代码exit也是没有放括号的。目前我还没有报错,并且成功运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 02:32:48 | 显示全部楼层
Twilight6 发表于 2020-6-30 22:50
这个我们怎么不知道? 我们是帮助楼主改错,如果想改进,这还不简单?

我觉得改错应该明白的指出来才能节约版主的时间,节约大家的时间。(萌新个人见解,欢迎批评指正。)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 07:51:07 | 显示全部楼层
2291437529 发表于 2020-7-1 02:30
我测试过了,并且我之前回复楼主的贴子里,我的代码exit也是没有放括号的。目前我还没有报错,并且成功运 ...




只填函数名称代表的是这个函数体本身就不会报错,函数体不会调运函数,带上括号才是调用函数,才会返回运行结果

你试试print 不加括号 看看会不会报错吧,运行成功,不代表你的代码没有错误,你这里 exit 没有达到退出功能逻辑上就算错误

你的  guess = temp 是多余的 ,直接用 temp 即可,guess可以不要,去掉,有 guess 的地方变量名全改成 temp 即可

而且你这里if 代码判断是否等于 exit ,而前面两个循环的退出循环条件都是等于 exit ,这里的 if 判断是多余的,可以去掉

最后一行完全没有必要需要exit() 函数的退出,因为之后没有代码了,所以你这里的exit 也完全是多余的,既然是改错但是你改完了代码虽然没报错的,但是逻辑上很多没用的地方



我觉得改错应该明白的指出来才能节约版主的时间,节约大家的时间。(萌新个人见解,欢迎批评指正。)


你说的没错,楼主错误的地方我们楼上都指出了,而你实际上并没有说明指出哈

你这里只是多加两个判断正确与否的循环,将楼主代码更加完善,而没有说明改错的地方,只是单纯优化了下楼主的答案

但是优化后问题也很多 具体上面的都说了

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

使用道具 举报

发表于 2020-7-1 08:01:31 From FishC Mobile | 显示全部楼层
好的,感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-1 08:09:34 | 显示全部楼层
Twilight6 发表于 2020-7-1 07:51
只填函数名称代表的是这个函数体本身就不会报错,函数体不会调运函数,带上括号才是调用函数,才会 ...

我刚刚试过了,确实,在其他位置放入exit没有发挥作用,而且也没有报错。感谢大佬。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 01:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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