精华内容
下载资源
问答
  • while 判断条件: 执行语句…… 执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。 当判断条件假false时,循环结束。 执行流程图如下:

    Python While循环语句

    Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

    while 判断条件:
        执行语句……

    执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

    当判断条件假false时,循环结束。

    执行流程图如下:

    python_while_loop

    实例:

    #!/usr/bin/python
    
    count = 0
    while (count < 9):
       print 'The count is:', count
       count = count + 1
    
    print "Good bye!"

    以上代码执行输出结果:

    The count is: 0
    The count is: 1
    The count is: 2
    The count is: 3
    The count is: 4
    The count is: 5
    The count is: 6
    The count is: 7
    The count is: 8
    Good bye!

    while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

    # continue 和 break 用法
    
    i = 1
    while i < 10:   
        i += 1
        if i%2 > 0:     # 非双数时跳过输出
            continue
        print i         # 输出双数2、4、6、8、10
    
    i = 1
    while 1:            # 循环条件为1必定成立
        print i         # 输出1~10
        i += 1
        if i > 10:     # 当i大于10时跳出循环
            break
     


    无限循环

    如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    var = 1
    while var == 1 :  # 该条件永远为true,循环将无限执行下去
       num = raw_input("Enter a number  :")
       print "You entered: ", num
    
    print "Good bye!"

    以上实例输出结果:

    Enter a number  :20
    You entered:  20
    Enter a number  :29
    You entered:  29
    Enter a number  :3
    You entered:  3
    Enter a number between :Traceback (most recent call last):
      File "test.py", line 5, in <module>
        num = raw_input("Enter a number :")
    KeyboardInterrupt

    注意:以上的无限循环你可以使用 CTRL+C 来中断循环。



    循环使用 else 语句

    python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

    #!/usr/bin/python
    
    count = 0
    while count < 5:
       print count, " is  less than 5"
       count = count + 1
    else:
       print count, " is not less than 5"

    以上实例输出结果为:

    0 is less than 5
    1 is less than 5
    2 is less than 5
    3 is less than 5
    4 is less than 5
    5 is not less than 5


    简单语句组

    类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

    #!/usr/bin/python
    
    flag = 1
    
    while (flag): print 'Given flag is really true!'
    
    print "Good bye!"

    注意:以上的无限循环你可以使用 CTRL+C 来中断循环。


    Python for 循环语句

    Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

    语法:

    for循环的语法格式如下:

    for iterating_var in sequence:
       statements(s)

    流程图:

    python_for_loop

    实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    for letter in 'Python':     # 第一个实例
       print '当前字母 :', letter
    
    fruits = ['banana', 'apple',  'mango']
    for fruit in fruits:        # 第二个实例
       print '当前字母 :', fruit
    
    print "Good bye!"

    以上实例输出结果:

    当前字母 : P
    当前字母 : y
    当前字母 : t
    当前字母 : h
    当前字母 : o
    当前字母 : n
    当前字母 : banana
    当前字母 : apple
    当前字母 : mango
    Good bye!


    通过序列索引迭代

    另外一种执行循环的遍历方式是通过索引,如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print '当前水果 :', fruits[index]
    
    print "Good bye!"

    以上实例输出结果:

    当前水果 : banana
    当前水果 : apple
    当前水果 : mango
    Good bye!

    以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。



    循环使用 else 语句

    在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

    如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    for num in range(10,20):  # 迭代 10 到 20 之间的数字
       for i in range(2,num): # 根据因子迭代
          if num%i == 0:      # 确定第一个因子
             j=num/i          # 计算第二个因子
             print '%d 等于 %d * %d' % (num,i,j)
             break            # 跳出当前循环
       else:                  # 循环的 else 部分
          print num, '是一个质数'

    以上实例输出结果:

    10 等于 2 * 5
    11 是一个质数
    12 等于 2 * 6
    13 是一个质数
    14 等于 2 * 7
    15 等于 3 * 5
    16 等于 2 * 8
    17 是一个质数
    18 等于 2 * 9
    19 是一个质数

    Python 循环嵌套

    Python 语言允许在一个循环体里面嵌入另一个循环。

    Python for 循环嵌套语法:

    for iterating_var in sequence:
       for iterating_var in sequence:
          statements(s)
       statements(s)

    Python while 循环嵌套语法:

    while expression:
       while expression:
          statement(s)
       statement(s)

    你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

    实例:

    以下实例使用了嵌套循环输出2~100之间的素数:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    i = 2
    while(i < 100):
       j = 2
       while(j <= (i/j)):
          if not(i%j): break
          j = j + 1
       if (j > i/j) : print i, " 是素数"
       i = i + 1
    
    print "Good bye!"

    以上实例输出结果:

    2 是素数
    3 是素数
    5 是素数
    7 是素数
    11 是素数
    13 是素数
    17 是素数
    19 是素数
    23 是素数
    29 是素数
    31 是素数
    37 是素数
    41 是素数
    43 是素数
    47 是素数
    53 是素数
    59 是素数
    61 是素数
    67 是素数
    71 是素数
    73 是素数
    79 是素数
    83 是素数
    89 是素数
    97 是素数
    Good bye!
    展开全文
  • char *str = "A1234"; char *tmp = str; while (tmp) {  sum += *(tmp++);...用tmp是否为空做判断不对么? 这样写确实不对,是一个死循环,因为内存空间中的内存区域是连续的 比如就这个字符串...

    原文: http://zhidao.baidu.com/question/180427406.html

    char *str = "A1234";
    char *tmp = str;
    while (tmp) {
     sum += *(tmp++);
    }
    这样,为什么在while中是循环了?用tmp是否为空做判断不对么?

    这样写确实不对,是一个死循环,因为内存空间中的内存区域是连续的
    比如就这个字符串,虽然第六个字符就是'\0',但是当指针移动到第六个字符所在内存单元时tmp并不为NULL,
    因此指针会继续移动下去。假设str为2000,那么内存中2001存放的是'A',2002存放的是'1'……2004存放的是'4',
    2005存放的是'\0',2006虽然没被用户占用,但是tmp仍会继续移动。
    你可以试试这串代码:
    
    
     

    #include<stdio.h>
    int main(void)
    {
    int sum=0;
    char *str = "A1234";
    char *tmp = str;
    while (tmp) {
    sum += *(tmp++);
    printf("%c %p sum=%d",*tmp,tmp,sum);
    getchar();
    }
    return 0;
    }

     

    改为:
    while (*tmp)
    就可以了,这样当指针移动到字符串末尾遇到字符串结束符'\0',*tmp就为'\0'循环就会结束
    在数据结构中,构造单链表最后都是让指针指向NULL,这样指针遇到NULL就不再移动
    


    换句话说判断指针是不行的,因为指针其实它是地址,地址是一直永远存在的,
    应该用指针的值,地址的值,这个值的内容才是我们想要去做判断的!

    展开全文
  • while条件判断

    2013-02-20 11:45:22
    判断条件是cin>>value  它具有从标准输入读取下一个数并且将读入的值保存在value中的效果。输入操作符返回其左操作数。 while条件测试输入操作符的返回结果。意味着测试cin。 当我们使用istream对象作为...
    	string text_word;
    	while (cin >> text_word)
    		vec.push_back(text_word);

    判断条件是cin>>value

     它具有从标准输入读取下一个数并且将读入的值保存在value中的效果。输入操作符返回其左操作数。

    while条件测试输入操作符的返回结果。意味着测试cin。

    当我们使用istream对象作为条件,结果是测试流的状态。如果是有效的(也就是说,如果读入下一个输入时可能的)那么测试成功。遇到文件结束符或遇到无效输入时,如读取了一个不是整数的值,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。

    在遇到文件结束符(或一些其他错误输入)之前,测试会成功并且执行while循环体。

    文件结束符:

    windows: ctrl+z

    unix、linux、mac os-x: ctrl+d。

     一旦测试失败,while终止并退出循环体,执行while之后的语句。该语句在输出sum后输出endl,endl输出换行并刷新与cout相关联的缓冲区。

    最后,执行return,通常返回0表示程序 成功运行完毕。


    展开全文
  • tips:Java中while判断条件

    千次阅读 2017-01-14 18:06:24
    Java中while判断条件

    tips:Java中while的判断条件!


    在c++中,有时候会遇到这种情况:

    while(x = y){
        dosomething;
    }
    如果x与y相等,这个时候如果循环体中没有跳出的点,那么会无限循环;

    这是因为c++中的()里的判断条件可以是bool型(true or false),或者是一个整数(非0时相当于true);


    而在java中,不是这样的,这样的代码会产生编译时错误,因为java中不会将int自动转成bool型的值,()中只能是bool型的值,所以只能是这样的代码:

    while(x == y){
        dosomething;
    }
    唯一不会产生编译时错误的情况是x和y都是bool型,在这种情况下,x = y是合法的!
    展开全文
  • 求两个正整数的最大公约数与最小公倍数如下程序 #include void main() ...其中while判断条件若为while(n=0) 可输出正确值 若为while(n==0) 无法执行 =不是赋值么 ==才是等于 不是应该为while(n==0)么?
  • boolean在while条件判断

    千次阅读 2013-05-01 19:29:16
    -----------android培训、... 在很多的实际循环操作案例中不能找出一个很明确的循环判断条件,这种情况下可以假设个布尔类型变量附初值false作while的循环判断条件,因为while(条件)判断是“条件”的ture和false”而布
  • while和if判断条件小认识

    千次阅读 2018-08-10 11:17:51
    之前查代码定位问题时对while和if中判断条件有疑惑,后来自己验证了,现记录如下,代码很low,别介意。 while.c代码如下所示: include include
  • 突然想起while可以在条件判断中进行while(nowParam = reg.exec(param) 语句的赋值。 这种用法以前我一直不太敢使用,担心会出现什么问题,一般都是先在循环外部定义好遍历,将值赋给遍历后再作为循环的条件。 所以...
  • continue不会跳过do while条件判断

    千次阅读 2018-06-11 12:41:14
    continue不会跳过do while条件判断先贴一段代码:int i = 0; do { printf("%d\n", i); if(i &lt; 10) continue; }while(++i &lt; 10);1234567以前我一直以为,continue就是跳转到do开始的...
  • shell循环sleep while例子 条件判断

    千次阅读 2016-12-13 21:17:16
    i=1 # 小于5等于时候才执行 while [ ${i} -le 5 ] do echo ${i} i=`expr ${i} + 1` # 休眠3秒 sleep 3 done echo done 参考 http://c.biancheng.net/cpp/view/2736.html
  • while循环条件

    千次阅读 2019-04-12 14:20:34
    循环条件中,while()中的值必须值为真,即非0值全为真,0为假,结束循环。
  • while循环与if条件判断

    千次阅读 2018-03-14 21:12:40
    对于一个字符串,先输出它的大写字母,再输出它的小写字母 错误做法: char a[]="hElASFGoo";...错误原因:因为判断小写字母的循环与判断大写字母的循环是同一个,所以,比如:当第二个字母是E时,进入下一个if
  • Python之 If条件判断While循环语句

    千次阅读 2017-11-20 19:20:40
    Python之 If条件判断While循环语句
  • linux shell if,while,等条件判断

    千次阅读 2019-03-15 14:37:16
    bash中如何实现条件判断条件测试类型: 整数测试 字符测试 文件测试 一、条件测试的表达式: [ expression ] 括号两端必须要有空格 [[ expression ]] 括号两端必须要有空格 test expression 组合测试条件: -a: ...
  • 一.shell中的for循环 1.for循环的语法格式 shell中的 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致。...for 条件 do 循环主体 done <1>语法一: for 变量 in...
  • python中的条件判断语句if while

    千次阅读 2018-07-19 13:07:29
    判断(if)语句 生活中的判断案例: 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这,如果 那样…. 判断的定义: 如果条件满足,才能做某件事 如果条件不满足,就做另外一件事情,或者什么也不做 ...
  • 解析while(cin >> value)条件判断

    千次阅读 2019-05-17 11:07:01
    value)这样的条件判断语句一直都没能真正搞明白,最近学习了类型转换运算符相关方面的知识才恍然大悟。类型转换运算符详细内容可参考《C++ Primer》第五版14.9节的内容,或者个人博客“笔记:类型转换运算符”。 ...
  • while条件语句

    千次阅读 2020-11-27 09:37:50
    while条件语句 (条件满足一直循环,适合做守护进程,死循环,while是读整行,for遇见空格就另起一行) 语法 while 条件 do 指令 done 案例: 每个2秒记录一次系统负载情况 while true; do 也可以写成 while :;do #!/...
  • 一、while循环语句(while: 先判断,再执行) 语法: 执行步骤: while 只要A条件表达式返回true,就执行B语句块,循环执行,直到A表达式返回false; 例如: (1)打印1…10之间的整数 int num = 1; while(num &...
  • while(condition) { wait(lock) } https://blog.csdn.net/matrixyy/article/details/50929150  lock后,wait实际上会unlock,然后其他线程才可能通过 lock change condition notify 修改...
  • python--条件判断while循环组合(三) 更多原创性能测试文章关注 十年性能测试专家&7DGroup公众号 # if条件分支+while循环 print('--------数字-------------') temp = input('说出我心中所想的数字:')...
  • 本来是希望写一个检测标志位的程序,因为耗时很短,我就简单的写了个while循环去检测。结果程序在调试状态下很好的运行,但是直接运行就不行。后来发现while循环似乎做了一些优化。如果while后面不加任何语句而直接...
  • 如果是多个线程都在等待这个条件,而同时只能有一个线程进行处理,此时就必须要再次条件判断,以使只有一个线程进入临界区处理。 这里做了个实验来说明:我用到两个消费者一个生产者,判定条件是当队列不为空时发...
  • matlab while中嵌套if判断,if(条件符合)返回while循环中,if(条件符合)下一行该怎么写 ``` while j if ( isnan(c(j, 7)) ) 此处该怎么写? else x = [x, c(j, 7)]; y = [y, c(j, 9)]; end ```...
  • matlab中while()循环可以通过不同方式终止,但终止的方式不同在程序中运行...while 判断条件&amp;&amp;a==0 语句; a=1; end 但使用break,进行一次循环,然后跳出程序,程序正常while 判断条件 语句...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 439,645
精华内容 175,858
关键字:

while的判断条件