找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2868|回复: 4

[求助] 小白刚接触Python,尝试while循环里嵌套多个if语句无果

1

主题

3

帖子

3

积分

贫民

积分
3
Akisearu 发表于 2018-3-16 12:44:26 | 显示全部楼层 |阅读模式
Code如下,这是《Python 编程从入门到实践》里面的一个例子,我照搬下来的,但是用VSC运行到一个if语句就停止了,各位大神求解!

def getname(first, last, middle):

    fullname=first +' '+ middle +' '+ last

    return fullname.title()

while True:
    print("\nPlease tell me your name:")
    print("(enter 'q' at any time to quit)")

    first = input('First Name:')
    if first == 'q':
        break

    last = input('Last Name:')
    if last == 'q':
        break

    middle = input('Middle Name:')
    if middle == 'q':
        break

    finalname=getname(first, last, middle)
    print("\nHello " + finalname + " !")


回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2018-3-16 14:03:00 | 显示全部楼层
break是跳出循环,如果让你输入的时候,你输入的是q,就会执行break,循环自然就结束咯,你这的程序也就执行完了,如果你没有输入q,貌似代码应该没什么问题会一直执行下去的
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Akisearu  楼主| 发表于 2018-3-16 14:26:46 | 显示全部楼层
uitb 发表于 2018-3-16 14:03
break是跳出循环,如果让你输入的时候,你输入的是q,就会执行break,循环自然就结束咯,你这的程序也就执 ...

并没有执行下去,我光输了个first name就停在那儿了,就算输入q也是停在那里,难道是VSC自身的问题?
就像这样:

Please tell me your name:
(enter 'q' at any time to quit)
First Name:
Kevin
q
没反应了,输入什么就输出什么
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Akisearu  楼主| 发表于 2018-3-16 15:03:04 | 显示全部楼层
uitb 发表于 2018-3-16 14:03
break是跳出循环,如果让你输入的时候,你输入的是q,就会执行break,循环自然就结束咯,你这的程序也就执 ...

可以了!, 谢谢,是VSC自身的问题
回复 支持 反对

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2018-3-16 15:13:56 | 显示全部楼层
本帖最后由 uitb 于 2018-3-16 15:15 编辑
Akisearu 发表于 2018-3-16 14:26
并没有执行下去,我光输了个first name就停在那儿了,就算输入q也是停在那里,难道是VSC自身的 ...

vsc没用过,有没有问题就要靠你自己解决了,你的代码我试了,确实没问题的,我这执行了两次循环,第一次完整执行代码,输入了三次名字,然后完整打印出名字
第二次输入了first name,然后输入q退出了程序
QQ截图20180316150854.png
--------------------------------------------------------
才看到你解决了,解决了就行
回复 支持 反对

使用道具 举报

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

本版积分规则

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