精华内容
下载资源
问答
  • [python]判断列表是否为空的循环条件 while list: 和 while list is not None:的区别
    千次阅读
    2019-04-13 09:04:40

    (1)while list:
    当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,X为假,当X里面有元素时,X为真。例如:

    list1 = []
    list2 = ['hello']
    while list1:
        print('list1')
        break
    while list2:
        print('list2')
        break
    

    输出结果只有list2:

    list2
    

    (2)while list is not None:
    不管list是空还是有元素,list都不是None,即list is not None都是True

    list1 = []
    list2 = ['hello']
    while list1 is not None:
        print('list1')
        break
    while list2 is not  None:
        print('list2')
        break
    

    结果list1和list2都输出了:

    list1
    list2
    
    更多相关内容
  • 以下的类中有while(条件){}这样的语句,但是不知道语句在这有什么作用?classshareClass{//共享类privateintn;privatebooleanflag=false;voidproduce(inti){while(flag){}n=i;f...以下的类中有while(条件){}...

    以下的类中有while(条件){}这样的语句,但是不知道空语句在这有什么作用?classshareClass{//共享类privateintn;privatebooleanflag=false;voidproduce(inti){while(flag){}n=i;f...

    以下的类中有while(条件){}这样的语句,但是不知道空语句在这有什么作用?

    class shareClass { // 共享类

    private int n;

    private boolean flag = false;

    void produce(int i) {

    while (flag) {}

    n = i;

    flag = true;

    }

    void get() {

    while (!flag) {}

    flag = false;

    }

    }

    // 读取数据类

    class Producer implements Runnable {

    shareClass shc;

    Producer(shareClass c) {

    shc = c;

    }

    public void run() { // 生产者产生5个随机数

    for (int i = 0; i < 5; i++)

    shc.produce((int) (Math.random() * 100));

    }

    }

    class Consumer implements Runnable {

    shareClass shc;

    Consumer(shareClass c) {

    shc = c;

    }

    public void run() {

    for (int i = 0; i < 5; i++)

    shc.get(); // 消费者读取数据

    }

    }

    public class TheadsCommunication {

    public static void main(String args[]) {

    shareClass shc = new shareClass();

    Thread t1 = new Thread(new Producer(shc));

    Thread t2 = new Thread(new Consumer(shc));

    t1.start();

    t2.start();

    }

    }

    其实这是一个关于多线程的例子,但不太清楚while空语句在这起什么作用?

    展开

    展开全文
  • 前言: 最近在看面试题的时候,做到了一些关于它们的一些选择题,我也有点疑惑,所以求助于百度,...D、两种循环结构中都必须有循环体,循环体不能为空 答案:A、C 解释: A:我没有找到可以反对的例子,所以A项正确 B

    前言:

    最近在看面试题的时候,做到了一些关于它们的一些选择题,我也有点疑惑,所以求助于百度,然后我也没有找到确切的答案,下面给出2个选择题谈谈我个人的看法。

    选择题1:

    下列关于for循环和while循环的说法中那个是正确的?()

    A、while循环能实现的操作,for循环也都能实现

    B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

    C、两种循环任何时候都可替换

    D、两种循环结构中都必须有循环体,循环体不能为空

    答案:A、C

    解释:

    A:我没有找到可以反对的例子,所以A项正确

    B:如果while循环判断条件一般是程序结果,那在循环体里面会执行什么判断呢,暂时没有遇到,毕竟用while循环的情况还是比较少的,感觉B项错误

    C:这个暂时没有找到可以反对的例子,所以C项正确

    D:首先两种循环结构中都必须有循环体,如下所示:

    证明for循环必须有循环体:
    在这里插入图片描述
    证明while循环必须有循环体:
    在这里插入图片描述
    其次for循环的循环体可以为空,而while循环的循环体不一定能为空,如下所示:

    证明for循环循环体可以为空:
    在这里插入图片描述
    证明while循环循环体不一定能为空:

    在这里插入图片描述
    在这里插入图片描述

    选择题2:

    说法中正确的是()

    A、for循环完全可以用while循环替代。

    B、while循环完全可以用do{}while循环替代。

    C、while循环完全可以用for循环替代。

    D、do{}while循环完全可以用while循环替代。

    E、do{}while循环和while循环均完全可以用for循环替代。

    答案:A、C、D、E

    解释:

    A:没有找到可以反对的例子,所以A正确

    B:有些while循环不能用do while循环代替,如下所示:

    int a = 1;
    while (a != 1) {
        System.out.println(a);
    }
    

    上述的while循环根本不会执行,由于do while循环是循环一次在判断,因此无法替换,所以B错误

    C:没有找到可以反对的例子,所以C正确

    D:do while循环不过是先执行在判断,while循环完全可以做到,来一个do while循环的特例吧,如下所示:

    int a = 1;
    do{
        System.out.println(1);
    } while (a!=1);
    

    上述例子中只会执行一次循环体,接下来看我用while循环怎么替代它,如下所示:

    int a = 1;
    while(a!=2){
        System.out.println(1);
        a++;
    }
    

    虽然样子不一样,但是实现的功能是一样的,都是一次循环,所以D正确

    E:既然while循环都能替代do while循环,那for循环和while循环可以相互转换,所以for循环也能替代do while循环,所以E正确

    展开全文
  • 01-有关C语言while循环中的小问题

    千次阅读 2021-11-24 17:05:51
    最近在做题时偶然发现关于while循环的小问题,便记录下来。 1、问题主要是关于while循环如果不加大括号会有什么影响,如下: 根据C语言规定,循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语向...

    最近在做题时偶然发现关于while循环的小问题,便记录下来。 

    1、问题主要是关于while循环如果不加大括号会有什么影响,如下: 

    根据C语言规定,循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语向出现。如果不加花括号,则 while 语句的范围只到while 后面第1个分号处。例如,本例中while 语句中如无花括号,则 while 语句范围只到”sum-=sum十i:”为止。这一点是毋庸置疑的。 

    2、但如果while循环后面不是带有分号的语句,而是选择判断语句,则会出现不一样的结果。 

    01如下: 

    这次的结果是死循环,会无限输出“6—if”这条语句,因为while语句后面紧跟着的不是以分号结尾的语句,而是if判断,程序会进入第一个if判断,然后进入第二个if判断,执行输出语句。最外层的else和最里层的else从始至终根本就不会执行。而while的循环条件是i<=3,该条件一直是满足的,所以造成了死循环。 

    02如下: 

    将第二个if加上大括号,并多加了一条语句,j--。同样程序会执行到第二个if语句里面,并会将第二个if中的所有语句全部执行,而不是只执行第一个带分号的语句“printf(”%3d—if”);”当执行完j--后,j的值变为了5,而j并不会影响while的循环,所以该程序还是死循环。只不过输出的值有变化,死循环的结果是先输出一条“6—if”,然后无限输出“5—else” 。

    03如下: 

    这次我们改变i的值,这会影响到while循环;因为执行到i++后,i的值变为了4,不满足循环条件,于是这次就不是死循了,而是只输出一条“6—if” 

    通过上面的三个例子我们可以看到,当while循环后面紧跟着的不是带有分号的语句时,而是选择判断语句时,程序会进入判断语句内,并且根据实际条件执行所属范围内的全部语句,然后再次判断是否满足whlie循环,循环往复,直至不满足while循环条件为止。

    3、如果将程序再做一些改动会有怎样的变化。 

    01如下: 

    我们将while后面紧跟着的语句变为了i++;也就是带分号的语句,这次程序会执行到i++;然后判断是否满足while循环条件,发现不满足,然后就结束循环,于是就进入了判断语句,最终输出的是“4–else”。而如果将i++改成i--;结果就是死循环了。 

    02如下: 

    如果再while后面直接加分号,会根据while循环条件来判断,如果满足while循环条件,则就是死循环,如果不满足则跳出循环,执行下面的语句。 

    03以下均是死循环: 

    单独一条while(1);循环语句,明显的死循环,并且后面的分号一定要加,否则报错。 

    While(1)的循环体为空,也是死循环,后面的分号可加可不加。如果不是空的循环体,后面的分号也是可加可不加。 

    总之,“while(1)”是错的,而“while(1);”才是对的;“while(1){};”和“while(1){}”都是对的。 

     

     

     

     

     

    展开全文
  • python中的循环的控制语句有while和for,没有java中的do...while语句。 1.while的使用演示 while的语法格式: while 判断条件: 执行语句1..... 执行语句2..... ..... 循环控制条件 注意1:while的判断条件...
  • Java While循环 do-while循环用法

    千次阅读 2021-03-10 03:57:04
    循环语句就是让计算机根据条件做循环计算,在条件满足时继续循环,条件不...如果计算结果true,就把循环体内的语句执行一遍,如果计算结果false,那就直接跳到while循环的末尾,继续往下执行。do while循环的基...
  • char *str = "A1234"; char *tmp = str; while (tmp) {  sum += *(tmp++);...用tmp是否为空做判断不对么? 这样写确实不对,是一个死循环,因为内存空间中的内存区域是连续的 比如就这个字符串...
  • 如何检查C字符串是否为空

    千次阅读 2021-05-26 03:31:10
    如何检查C字符串是否为空我正在用C写一个非常小的程序,需要检查某个字符串是否为空。 为了这个问题,我简化了代码:#include #include int main() {char url[63] = {'\0'};do {printf("Enter a URL: ");scanf("%s",...
  • Python的While循环和for循环,python,while

    千次阅读 2021-01-14 17:41:32
    下面整理一下:1.while循环1.1 while循环的基本格式while循环的基本格式如下:while 条件表达式 :条件满足,执行循环语句;不满足,则退出循环1.2.while循环示例程序count = 0while (count<9):print(f'Now count ...
  • Shell判断字符串是否为空

    万次阅读 2018-08-25 10:46:44
    主要有以下几种方法:  echo “$str”|awk '{print length($0)}'  expr length “$str” ...判断字符串为空的方法有三种:  if [ "$str" = "" ]  if [ x"$str" = x...
  • while()循环条件假却不退出循环

    千次阅读 2019-07-18 11:18:49
    之前在做EFM32TG的一个项目时,遇到了一个问题,while循环条件假却还是一直在循环里面无法退出,代码如下: /***************************************************************************//** * @brief Delays...
  • while,do...while,for 三种循环的比较

    千次阅读 2019-11-14 13:57:19
    while,do...while,for 三种循环的比较 (1)三种循环都可以用来处理同一问题,一般情况下他们可以相互替换。 (2)在while循环和do while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,...
  • C# while循环

    千次阅读 2020-05-16 15:21:05
    只要给定条件true,C#的while循环语句会循环重新执行一个目标的语句。 二、语法 C# while的语法: while(循环条件) { 循环体; } 三、执行过程 程序运行到while处,首先判断while所带的小括号内的循环条件是否...
  • C语言循环和无穷循环有的区别

    千次阅读 2021-05-18 15:49:33
    跟大家普及下循环和无穷循环的概念,循环并不会无休止地进行下去–在重复预先指定的次数后,它就会退出循环。无穷循环会无休止地进行下去,并且永远不会退出循环。把循环和无穷循环对比一下,就能很好地说明...
  • while循环

    万次阅读 2020-01-10 17:19:07
    while循环 while语句用于循环执行程序,执行过程依赖指定条件 语法: while(条件表达式): 语句块 示例 x = 5 count = 1 while(x<=20): print("第%s次循环输出:"%count,x) x = x + 5 count = count...
  • java在使用内置锁实现消费者-生产者模式的时候,可以使用wait,notify,notifyAll三个方法,而且这三个方法都是基类Object的方法,要调用某一个对象的同步方法时,必须将其放在sycronized修饰的方法、对象、代码块里面,你...
  • main函数中的while(1)解读

    千次阅读 多人点赞 2020-04-27 08:26:17
    单片机C语言的主程序,通常要用一个while(1)语句来让程序进入一个无限循环,目的是为了让程序一直保持在我们需要运行的情况下。 虽然这种做法毋庸置疑,在网上还是有不少朋友有疑问,如果程序不加while(1)会出现...
  • for循环和while循环的相互转换

    万次阅读 2019-07-22 18:00:19
    while循环的格式while(条件表达式){ 执行语句; } 然而这两种循环是可以相互转换的eg: 下面分别时while和for的死循环格式 再例如: while程序: 结果: for程序: 结果: 可见for里面不一定非得是(...
  • 怎么跳出while循环

    千次阅读 2020-12-05 23:56:56
    展开全部while 是一个循环体,退出循环体的方法有:1、循环体条件 不成立,如:while( a>0); 当32313133353236313431303231363533e59b9ee7ad9431333431373330 a≤0 的时候,条件 a>0不成立,while 循环结束,...
  • 队列中被添加了一个元素,A,B线程被notifyAll()唤醒,可以取元素. 我们来从代码分析: 若用if: 1 synchronized (monitor) { 2 // 判断条件谓词是否得到满足 3 if(queue.IsEmpty()) { 4 // 等待唤醒 5 monitor....
  • while语句在单片机中的用法

    千次阅读 2020-03-25 18:34:21
    while(语句){语句}中小括号中的语句是判断真假,如果真,则执行大括号中的语句,如果假,则不执行下面的语句。 while(语句);中的语句也是一个判断,当小括号中的语句表达式值不0时,也就是真,就一直判断,...
  • 可以没有{},此时于while()后第一个分号 “;” 前面的语句就是循环体。 可以同时有{}和分号“;” , 也就是说,当有花括号 {} 结尾可不需要分号, 当然你加了不也会出错,但不要while(); 【总结】在C语言中,用;...
  • for while循环练习

    千次阅读 2022-04-01 14:20:52
    (for循环可以加else语句,else语句后跟循环结束需要执行的代码,) break 语句可以用于跳出循环,可以用在 for 循环、while 循环、switch 循环中。当我们在一个循环中使用了break 语句,则会中断循环,但是仍会继续...
  • while(++i)与 while(i++)

    千次阅读 2021-12-05 14:28:29
    while(++i)是先判断后执行循环体,再+1; while(i++)是先+1后判断,再执行循环体; 循环结束后:while(++i)执行完后,i=0; while(i++)执行完后,i=1;
  • do while语句是先执行一次do语句中的内容,接着判断while语句中的内容不成立时就不再执行do语句了,否则循环执行do语句,最后的while小括号后边要加分号 #include <stdio.h> main(){ int x,max; printf(...
  • Shell中的while用法

    千次阅读 2020-02-15 23:04:50
    Shell中的while用法 ...while循环的执行流程: 先对condition进行判断,如果该条件成立, 就进入循环,执行while循环体中的语句这样就完成了一次循环 每次执行到done的时候都会重新判断condition是否...
  • Java的while语句

    千次阅读 2020-05-23 07:25:22
    当反复执行这个循环体时,需要在合适的时候把循环条件改假,从而结束循环,否则循环将一直执行下去,形成死循环。 循环语句可能包含如下 4 个部分。 初始化语句(init statement): 一条或多条语句,这些语句...
  • 9. C 语言 -- 循环结构:while语句和 do … while语句

    万次阅读 多人点赞 2018-10-19 19:17:45
    本文主要讲述 C 语言循环结构中的 while 和 do while 语句,并且介绍了 scanf, getchar 和 gets三种输入的使用方法及使用情况。
  • python—while循环、字符串

    千次阅读 2019-05-28 20:54:21
    只要满足 while的条件永远真,就会进入无限循环 while True: print('一直循环') while嵌套 \t :在控制台输出一个制表符,协助我们在输出文本的时候在垂直方向保持对齐 \n:在控制台输出一个换行符 \:转译 ,...
  • 运行时出错,第一遍循环可以输入信息,然后一直循环输出 cout是否继续添加?(Y/N)";语句 ![图片说明](https://img-ask.csdn.net/upload/201812/08/1544276503_500570.jpg) 运行结果 ![图片说明]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,072,141
精华内容 428,856
关键字:

while可以为空吗

友情链接: cy_dealnmap.zip