z117238670 发表于 2016-6-4 20:10:08

关于while语句跳出循环后如何进入下一个循环的问题。

temp = input('please insert ID number: ')
num = float(temp)
while num != 0.1:
    if num == 4.2:
      print('Web Sudoku / Web Sudoku')
    elif num == 8.2:
      print('Nickelodeon Printables / Nickelodeon')
    elif num == 9.2:
      print('Dreamworks@Animation printables / DreamWorks')
    elif num == 12.1:
      print('Disney / Disney')
    elif num == 12.2:
      print('Disney / Disney')
    num = input('please input a ID number:')

各位鱼油们大家好,本人在代码中遇到一个小问题,就是在进入while循环后执行第一次if或者elif语句是没有问题的,也会弹出下一个问题继续发问,但是结果是执行完了第一次的if后接下来在输入任何数字都不会得到任何答案了,不知道这个怎么解决?谢谢鱼油们。

紫瞰 发表于 2016-6-4 20:37:29

你没有加括号啊,你把括号加上呢

玩也不懂 发表于 2016-6-4 20:41:00

同求大神回答~

z117238670 发表于 2016-6-4 20:59:26

紫瞰 发表于 2016-6-4 20:37
你没有加括号啊,你把括号加上呢

python里面不用加括号啊。。

紫瞰 发表于 2016-6-4 21:21:07

z117238670 发表于 2016-6-4 20:59
python里面不用加括号啊。。

我看错了,我以为你写的是c呢,最后一条语句你也正常缩进了呗

Rand0m 发表于 2016-6-4 22:18:50

你为什么要这样写呢,每循环一次之前输入一下不好吗
num = 0.0
while num != 0.1
    num = float(input("请输入一个数")
    if num == 4.1:
      print ("23333")

allen-xy 发表于 2016-6-4 23:37:39

6楼正解。
num = 0
while num != 0.1:
    num = float(input('please input a ID number:'))
    if num == 4.2:
      print('Web Sudoku / Web Sudoku')
    elif num == 8.2:
      print('Nickelodeon Printables / Nickelodeon')
    elif num == 9.2:
      print('Dreamworks@Animation printables / DreamWorks')
    elif num == 12.1:
      print('Disney / Disney')
    elif num == 12.2:
      print('Disney / Disney')

z117238670 发表于 2016-6-5 18:23:11

Rand0m 发表于 2016-6-4 22:18
你为什么要这样写呢,每循环一次之前输入一下不好吗
num = 0.0
while num != 0.1


谢谢鱼油们。{:5_92:}

z117238670 发表于 2016-6-5 18:24:23

allen-xy 发表于 2016-6-4 23:37
6楼正解。
num = 0
while num != 0.1:


感谢鱼油们的帮助。{:5_91:}

Goron 发表于 2016-6-7 08:47:39

学习了!

tamadi110 发表于 2020-8-8 17:37:32

如果完全按照你的想法,代码应该这么改:
temp = input('please insert ID number: ')
num=0
while num != 0.1:
    num = float(temp)
    if num == 4.2:
      print('Web Sudoku / Web Sudoku')
    elif num == 8.2:
      print('Nickelodeon Printables / Nickelodeon')
    elif num == 9.2:
      print('Dreamworks@Animation printables / DreamWorks')
    elif num == 12.1:
      print('Disney / Disney')
    elif num == 12.2:
      print('Disney / Disney')
    temp = input('please input a ID number:')   

第一次输入有结果是因为代码是从第一行执行的,第二次输入就进入了循环,代码是从while 后面执行的,当循环到最后一行input时,输入的数字没有定义数据类型,mun =float(temp),后面的if就执行不了。还有最后一行input变量名不能取mun ,   应该是temp,否则你输入什么数字得到的结果永完是你第一次输入数字的结果。
页: [1]
查看完整版本: 关于while语句跳出循环后如何进入下一个循环的问题。