fayzzz 发表于 2018-11-9 17:40:54

自学day4,关于while循环的一些问题

本帖最后由 康小泡 于 2018-11-9 17:55 编辑

今天学了while循环,课程里问了一个问题是如何限制回答次数.(在答案是确定的情况下,不用每一次都随机答案)

然后我写了如下代码
i = 3
temp = input('请你猜一个一到十之间的数字')
guess = int(temp)
while guess != 6 and i > 0:
    temp = input('你猜错了!再猜一次')
    guess = int(temp)
    i = i - 1
    if guess == 6:
      print('牛逼兄弟')
    else:
      if guess < 6:
            print('猜小了')
      else:
            print('猜大了')
print('游戏结束')

发现可以猜四次? 原来是第一次没有算到while循环里请问怎么改进

fayzzz 发表于 2018-11-9 17:42:54

还有就是 应该怎么写才可以显示第一次就猜大了还是猜小了咧?

塔利班 发表于 2018-11-9 17:49:57

i = 3
print('请你猜一个一到十之间的数字:',end='')
guess = 0
while guess != 6 and i > 0:
    if i==3:
      temp=input()
    else:
      temp = input('你猜错了!再猜一次')
    guess = int(temp)
    i = i - 1
    if guess == 6:
      print('牛逼兄弟')
    else:
      if guess < 6:
            print('猜小了')
      else:
            print('猜大了')
print('游戏结束')

fayzzz 发表于 2018-11-9 18:14:31

塔利班 发表于 2018-11-9 17:49


所以是先对guess赋值0 从而引出while循环咯

fayzzz 发表于 2018-11-9 18:19:47

塔利班 发表于 2018-11-9 17:49


大佬再问一个!{:5_109:}
就是要实现如下效果

请输入一个整数:8
      ********
       *******
      ******
   *****
    ****
   ***
**
*


我写的代码是


temp = input('请输入一个整数:')
num = int(temp)
certain = num +1
while num < certain:
    print(" "*num + "*"*num)
    num = num - 1


然后发现这个到最后会无线输出空格,基于这个代码,有什么方法给他设置一个下限吗

塔利班 发表于 2018-11-9 18:32:58

temp = input('请输入一个整数:')
num = int(temp)
while num:
    certain = num - 1
    print(" "*certain + "*"*num)
    num = num - 1

fayzzz 发表于 2018-11-9 18:54:20

塔利班 发表于 2018-11-9 18:32


哇 谢谢大佬 !这里while后面没有条件是啥意思呀

塔利班 发表于 2018-11-9 19:02:22

while num
这里num就是条件,只要后面非0非空非假就满足条件
if 也一样
页: [1]
查看完整版本: 自学day4,关于while循环的一些问题