superjolly10 发表于 2024-2-28 16:17:12

初学者,帮忙看看为啥运行结果不一样···

初学者,看了小甲鱼老师的代码之后理解完自己写了一遍但是运行的结果不一样,请帮忙看看:


这是小甲鱼老师的:

print('--------我爱鱼C工作室--------')
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("游戏结束,不玩了~~~~")


这是我写的:

print ('----------来让我们尝试第一个程序吧----------')
number = input('请输入一个数字,看看跟我心中想的是否一样吧:')
temp = int(number)
whilenumber != 8:
      number = input('哎呀,猜错了,请重新输入吧:')
      temp = int (number)
      if temp == 8:
                print ('回答正确,你真棒!')
      else:
                if temp > 8 :
                        print('大了,大了')
                else:
                        print('小了,小了')
print ('游戏结束!')


运行结果:小甲鱼老师的输入正确数字8之后会提示游戏结束,而我写的则会继续让重新输入···

对比了好久,没发现哪里有问题,请帮忙指正。谢谢

FishC 发表于 2024-2-28 16:17:27

你的代码运行结果不一样是因为你在比较数字的时候使用了字符串的比较操作。

在小甲鱼老师的代码中,通过将用户输入的字符串转换为整数,然后再进行比较。而在你的代码中,你没有进行转换,直接进行了字符串的比较。

解决这个问题很简单,只需将你的代码中以下部分:

whilenumber != 8:

修改为:

whiletemp != 8:

这样,就会根据转换后的结果进行比较,从而得到正确的运行结果。希望能帮到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

superjolly10 发表于 2024-2-28 19:51:54

FishC 发表于 2024-2-28 16:17
你的代码运行结果不一样是因为你在比较数字的时候使用了字符串的比较操作。

在小甲鱼老师的代码中,通过 ...

看明白了,应该是转换为数值后再比较,还是粗心了,谢谢~{:5_109:}
页: [1]
查看完整版本: 初学者,帮忙看看为啥运行结果不一样···