免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 42893 | 回复: 9
打印 上一主题 下一主题

为什么Python没有do while语句? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-08 21:08 |只看该作者 |倒序浏览
写代码的时候无意中发现有些逻辑需要用到do while,却发现python不支持这个功能,如果是用

while ...else...的组合,那当判断条件不满足的时候(比如说a != b)就会终止循环,假如恰好我

需要在判断条件不满足时再循环一次,那就不得不在else里面把while所有的语句再写一边,很不简

洁,循环体很长的话会增加很多冗余代码。如果使用for,当判断条件并不是遍历一堆数据时也无法

解决这个问题。问下大家有什么好的办法,我想办法肯定是有的,不然python也不会轻易把do...while

给去掉。

论坛徽章:
0
2 [报告]
发表于 2010-08-08 21:09 |只看该作者
还没有goto

论坛徽章:
0
3 [报告]
发表于 2010-08-09 00:18 |只看该作者

  1. do
  2. {
  3.       input = get_input()
  4. } while( input != something )
复制代码
while if 應該滿足到你需要吧.

  1. while True:
  2.       input = get_input()
  3.       if input == something:
  4.             break;
复制代码

论坛徽章:
0
4 [报告]
发表于 2010-08-09 01:12 |只看该作者
话说一个语言同时支持do while/do until/while,然后教材里要长篇大论这3者的区别,非常无聊

python主张解决一个问题只有一个办法,这点非常好,避免无聊的人在这些鸡毛蒜皮的小技巧上使劲

python还没有switch case,要么用最朴实的if elif else要么不嫌麻烦自己实现switch case

论坛徽章:
0
5 [报告]
发表于 2010-08-10 16:01 |只看该作者
就是3楼那样while末尾判断break就好了吧

论坛徽章:
0
6 [报告]
发表于 2010-08-18 18:41 |只看该作者
其实我感觉最不爽的是没有if (a = XXX)或while (b = XXX)

论坛徽章:
0
7 [报告]
发表于 2010-08-19 16:00 |只看该作者
我觉得python追求简单, 实用

论坛徽章:
0
8 [报告]
发表于 2010-08-19 16:43 |只看该作者
其实我感觉最不爽的是没有if (a = XXX)或while (b = XXX)
lqefn 发表于 2010-08-18 18:41

不爽可以选择不用 :)

论坛徽章:
0
9 [报告]
发表于 2010-08-26 00:52 |只看该作者
我觉得一种程序结构只需要一个语法支持就可以了,for while什么的一大堆没什么意义

论坛徽章:
0
10 [报告]
发表于 2015-01-07 12:25 |只看该作者
本帖最后由 account5 于 2015-01-07 12:33 编辑

你用python从来没有不爽的时候?python从头到脚都让你爽爽的?

smallfish_xy 发表于 2010-08-19 16:43
不爽可以选择不用 :)



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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP