为啥没名字能起 发表于 2020-6-4 15:23:09

基础新问题求助

import random
daan = random.randint(1,10)
temp = input('请输入数字:')
guess = int(temp)
time = 3
while guess!=daan and time>0:
    guess = int(temp)
    time = time-1
    if guess == daan:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')
    else:
      if guess > daan:
            print ('给个提示,这个数字大了哦!')            
      else:
            print ('给个提示,这个数字小了哦!')               
    temp = input('注意机会只有三次!再来一次吧:')
print('游戏结束啦,玩的真开心!')


这串代码跑了跑,发现如果是第一次就猜对的话,是不显示
if guess == daan:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')

这一串的,还有就是给time赋值是3,time-1应该只能跑三次,却跑了四次是为什么?大哥大哥帮帮我,小弟实在是渣渣。

Twilight6 发表于 2020-6-4 15:24:05

因为你有一次是在循环外面输入的

为啥没名字能起 发表于 2020-6-4 15:27:25

Twilight6 发表于 2020-6-4 15:26


没学end。。。。。。。不会用啊

Twilight6 发表于 2020-6-4 15:27:59

为啥没名字能起 发表于 2020-6-4 15:27
没学end。。。。。。。不会用啊

end 是print 的默认的参数默认时候等于 换行符号   我这里让他等于空就是不换行~

end 去掉不影响代码运行~

Twilight6 发表于 2020-6-4 15:32:13

为啥没名字能起 发表于 2020-6-4 15:27
没学end。。。。。。。不会用啊

那就这样呗
import random
daan = random.randint(1,10)
guess = 0
time = 2
temp = input('请输入数字:')
while guess!=daan and time>0:
    guess = int(temp)
    if guess == daan:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')
      break
    else:
      time = time - 1
      if guess > daan:
            print ('给个提示,这个数字大了哦!')
      else:
            print ('给个提示,这个数字小了哦!')
    temp = input('注意机会只有三次!再来一次吧:')
print('游戏结束啦,玩的真开心!')

为啥没名字能起 发表于 2020-6-4 15:35:48

Twilight6 发表于 2020-6-4 15:27
end 是print 的默认的参数默认时候等于 换行符号   我这里让他等于空就是不换行~

end 去掉不影响 ...

import random
daan = random.randint(1,2)
time = 3
guess = 0
print('请输入数字:')
while guess!=daan and time>0:
    temp = input()
    guess = int(temp)
    time = time-1
    if guess == daan:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')
    else:
      if guess > daan:
            print ('给个提示,这个数字大了哦!')
      else:
            print ('给个提示,这个数字小了哦!')
            print('注意机会只有三次!')
print('游戏结束啦,玩的真开心!')

我去掉了end,然后发现如果使用的是这串代码,第一次答对就会出现print('注意机会只有三次!')字符串显示的情况(正常应该是答对不显示),是不是这串简陋的代码有漏洞?如果触及知识盲区就不用继续帮我改了,我这边再学一学,如果不是请帮我详细解答一下,感谢d大的大佬(虽然每次都是你,总感觉你在蹲我这个小白)。{:5_97:}

Twilight6 发表于 2020-6-4 15:40:45

为啥没名字能起 发表于 2020-6-4 15:35
import random
daan = random.randint(1,2)
time = 3


小小的加工了下~

import random
daan = random.randint(1,2)
time = 3
guess = 0
print('请输入数字:')
while guess!=daan and time>0:
    temp = input()
    guess = int(temp)
    time = time-1
    if guess == daan:
      print ('恭喜你答对啦!')
      print ('答对的奖励就是没有奖励哦!')
    else:
      if guess > daan:
            print ('给个提示,这个数字大了哦!')
      else:
            print ('给个提示,这个数字小了哦!')
      if time == 0:
            print('对不起~你的次数已经用完!')
      else:
            print('注意机会还有',time,'次!')
print('游戏结束啦,玩的真开心!')

为啥没名字能起 发表于 2020-6-4 15:43:53

Twilight6 发表于 2020-6-4 15:40
小小的加工了下~

卧槽!真玩出花来了,大佬d大无疑,但是我记得昨天有人说过if是只能调用一次的啊,这是什么原理?是不是 if如果有if(1),if(2),if(3)不同变量的话是可以重复使用if的?
else:
      if guess > daan:
            print ('给个提示,这个数字大了哦!')
      else:
            print ('给个提示,这个数字小了哦!')
      if time == 0:
            print('对不起~你的次数已经用完!')
      else:
            print('注意机会还有',time,'次!')

Twilight6 发表于 2020-6-4 15:45:37

为啥没名字能起 发表于 2020-6-4 15:43
卧槽!真玩出花来了,大佬d大无疑,但是我记得昨天有人说过if是只能调用一次的啊,这是什么原理?是不是...

{:10_245:}你学到后面就会发现这很基础啦~ 没你想的那么高端哈哈

if 确实智能判断一次但是if 外面有个 while 循环这次判断完 下次继续判断

为啥没名字能起 发表于 2020-6-4 15:47:29

Twilight6 发表于 2020-6-4 15:45
你学到后面就会发现这很基础啦~ 没你想的那么高端哈哈

if 确实智能判断一次但是if 外面 ...

ok
页: [1]
查看完整版本: 基础新问题求助