精华内容
下载资源
问答
  • 要求说明: 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个...要求分别用for循环和while循环实现程序。 实现思路: 程序分析:采取逆向思维的方法,从后往前推断。 天 数 12 ...

    要求说明:

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。要求分别用for循环和while循环实现程序。

     

    实现思路:

    程序分析:采取逆向思维的方法,从后往前推断。

    天  数      1   2    3    4   5    。。。10

    桃子数     1    4   10   22   46          ?

    所以桃子数计算方法:前一天桃子数*2+2

    先分析问题:用逆向思维来思考它,根据题意“以后每天早上吃前天剩下的一半零一个”,则我们可以用逆向思维来推导它,即从第十天往前推。

    已知第十天有一个,根据题意

    第九天应该就是(1+1)*2=4个,

    第八天应该就是(4+1)*2=10,

    第七天应该就是(10+1)*2=22,

    第六天应该就是(22+1)*2=46,依此类推,

    直至第1天应该就是第2天(766+1)*=1534个桃子,

    即猴子第一天摘了1534个桃子。

    为了验证这个推导的正确性,你可以按正常逻辑来把它(即此时由前往后)推导,即由第一天1534个桃子,第二天就是1534/2-1=766个桃子,依此类推,直至第十天,那么猴子此时就会发现只剩一个。至此,我们由了推导的思想,再来编写的代码,就是小菜一碟的事情啦,实现的它方式无非就是那么两种,一种是简单的for循环,另一种是递归或者while循环。

     

    实现代码:

    for循环:

    public class monkeysProblem {
    	public static void main(String args[]){
    		int sum = 1,x = 1;
    		for(x=1;sum<=9;sum++){
    			 x=(x+1)*2;
    		}
    		System.out.println(x);
    	}
    }

    while循环:

    public class monkeysProblem {
    	public static void main(String args[]){
    		int day = 9;
    		int x = 1;
    		while (day>0) {
    			x = (x+1)*2;
    			day--;
    		}
    		System.out.println(x);
    	}
    }

     

    展开全文
  • Python程序while循环用法详解

    万次阅读 2018-06-04 23:15:03
    Python程序while循环用法详解用于编写通用迭代结构,顶端测试为真就会执行循环体,并会多次重复测试直到测试为假后才执行循环后的其它语句。 1、while循环语法格式:1).while bool_expression: while_suite else:...

    Python程序中while循环用法详解

    用于编写通用迭代结构,顶端测试为真就会执行循环体,并会多次重复测试直到测试为假后才执行循环后的其它语句。        

    1、while循环语法格式:

    1).while bool_expression:

               while_suite

        else:

              else_suite

    2).while boolean_expression:

               while_suite

         if boolean_expression2: continue

              if boolean_expression3: break

          else:

              else_suite

    2、用法示例:

    例1:while基础格式示例,定义url,并逐行从开头处减少一个字符显示

    In [27]: url = 'www.field.com'

    In [28]: while url:

      ....:     print url

      ....:     url = url[1:]

      ....:    

    www.field.com

    ww.field.com

    w.field.com

    .field.com

    field.com

    ield.com

    eld.com

    ld.com

    d.com

    .com

    com

    om

    m

    例2:while基础格式示例,逐行打印“x= 0”到“x = 9”

    In [29]: x = 0;y = 10

    In [30]: while x < y:

      ....:     print "x = %d"% x

      ....:     x += 1

      ....:    

    x = 0

    x = 1

    x = 2

    x = 3

    x = 4

    x = 5

    x = 6

    x = 7

    x = 8

    x = 9

    In [39]: x = 0;y = 10

    In [40]: while x <y:

       print "x = %d" % x,

      ....:     x +=1

      ....: 

    # print后用,结尾可以在同一行显示打印结果      

    x = 0 x = 1 x = 2 x = 3 x = 4 x = 5 x = 6 x= 7 x = 8 x = 9

    例3:while基础格式示例,自定义url,并逐行从结尾处减少一个字符显示

    In [41]: url = 'www.field.com'

    In [43]: while url:

      ....:     print " url is : %s" % url

      ....:     url = url[:-1]

      ....:    

     urlis : www.field.com

     urlis : www.field.co

     urlis : www.field.c

     urlis : www.field.

     urlis : www.field

     urlis : www.fiel

     urlis : www.fie

     urlis : www.fi

     urlis : www.f

     urlis : www.

     urlis : www

     urlis : ww

     urlis : w

    例4:while-else格式示例,自定义url,并逐行从结尾处减少一个字符显示,且当循环执行结束后打印提示信息“Game over !”

    In [44]: url = 'www.field.com'

    In [45]: while url:

       print " url is : %s " % url

       url = url[:-1]

      ....: else:

      ....:     print "Game over !”

      ....:    

     urlis : www.field.com

     urlis : www.field.co

     urlis : www.field.c

     urlis : www.field.

     urlis : www.field

     urlis : www.fiel

     urlis : www.fie

     urlis : www.fi

     urlis : www.f

     urlis : www.

     urlis : www

     urlis : ww

     urlis : w

    Game over !

    例5:break用法示例:自定义url,逐行从结尾处减少一个字符显示,自定义if条件,当减少5个字符时结束打印。

    In [46]: url = 'www.field.com'; x = 0

    In [47]: while url:

      ....:     print url

      ....:     url = url[:-1]

      ....:     x += 1

      ....:     if x > 5:

      ....:         break

      ....: else:

      ....:     print "Reduce 5 chars,gameover!"

      ....:    

    www.field.com

    www.field.co

    www.field.c

    www.field.

    www.field

    www.fiel

    #       break会跳出最内层的循环,所以else不会执行

    例6:continue用法示例:自定义url,逐行从结尾处减少一个字符显示,自定义if条件,当减少5个字符时结束打印,并提示信息“Reduce 5 chars,game over!”

    In [47]: while url:

      ....:     print url

      ....:     url = url[:-1]

      ....:     x += 1

      ....:     if x > 5:

      ....:         continue

      ....:     else:

      ....:         print "Reduce 5chars,game over!"

      ....:         break        

    www.field.com

    www.field.co

    www.field.c

    www.field.

    www.field

    Reduce 5 chars,game over!

    #continue会跳到所处的最近层循环的开始处,即跳到while循环开始执行处。

    #else代码块:循环正常终止才会执行;如果循环终止是由break跳出导致的,则else不会执行;

    例7、while True语句用法示例:

    In [48]: l1=[]

    In [49]: while True:

      ....:     x = raw_input('PleaseInput An Char:')

      ....:     if x == 'q' or x =='quit':

      ....:         break

      ....:     else:

      ....:         l1.append(x)

      ....:        

    Please Input An Char:a

    Please Input An Char:b

    Please Input An Char:c

    Please Input An Char:d

    Please Input An Char:q

    In [11]: print l1

    ['a', 'b', 'c', 'd']

    3、while循环练习:

    练习1:逐一显示指定列表中的所有元素;

    In [54]: l1 = [1,2,3,4,5];count = 0

    In [55]: while count < len(l1):

      ....:     print l1[count]

      ....:     count += 1

      ....: else:

      ....:     print l1

      ....:    

    1

    2

    3

    4

    5

    [1, 2, 3, 4, 5]

    In [56]: while l1:

      ....:     print l1[0],

      ....:     l1.pop(0)

      ....: else:

      ....:     print l1

      ....:    

    1 2 3 4 5 []

    练习2:求100以内所有偶数之和;

    In [70]: count = 2;sum =0

    In [71]: while count < 100:

      ....:     sum += count

      ....:     count += 2

      ....: else:

      ....:     print "sum is%d." % sum

      ....:    

    sum is 2450.

    练习3:逐一显示指定字典的所有键;并于显示结束后说明总键数;

    In [89]: d1 = {'x':11,'y':22,'z':33,'k':44}

    In [90]: d1.keys()

    Out[90]: ['y', 'x', 'k', 'z']

    In [91]: key = d1.keys()

    In [92]: while key:

      ....:     print key[0]

      ....:     key.pop(0)

      ....: else:

      ....:     leng = len(d1)

      ....:     print "Dict d1 Lengis %d." % leng

      ....:    

    y

    x

    k

    z

    Dict d1 Leng is 4.

    练习4:创建一个包含了100以内所有奇数的列表;

    In [94]: l1 = [];x = 1

    In [95]: while x < 100:

      ....:     l1.append(x)

      ....:     x += 2

      ....: else:

      ....:     print l1

      ....:    

    [1, 3, 5, 7, 9, 11, 13, 15,...,93, 95, 97,99]

    In [96]: x = range(1,100,2)

    In [97]: print x

    [1, 3, 5, 7, 9, 11, 13, 15,..., 93, 95, 97,99]

    练习5:逆序逐一显示一个列表的所有元素

    In [162]: y = [1,2,3,4]; count = 0

    In [163]: y.reverse()

    In [164]: while count < len(y):

      .....:     print y[count]

      .....:     count += 1

      .....: else:

      .....:     leng = len(y)

      .....:     print " List yleng is %d,reverse show over." % leng

      .....:    

    4

    3

    2

    1

    List y leng is 4,reverse show over.

    练习6:列表l1=[0,1,2,3,4,5,6], 列表l2=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],以第一个列表中的元素为键,以第二个列表中的元素为值生成字典d1;

    In [174]: l1 = [0,1,2,3,4,5,6];l2 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];d1={};count = 0

    In [175]: if len(l1) == len(l2):

      .....:     while count <len(l1):

      .....:         d1[l1[count]] =l2[count]

      .....:         count += 1

      .....:     else:

      .....:         print "Newdict d1 is %s." % d1

      .....: else:

      .....:     print "listKeyError!"

      .....:    

    New dict d1 is {0: 'Sun', 1: 'Mon', 2:'Tue', 3: 'Wed', 4: 'Thu', 5: 'Fri', 6: 'Sat'}.

     

    展开全文
  • 在stm32中使用while循环导致程序卡死

    千次阅读 2016-07-16 10:56:40
    这是我们在程序中经常用到的写法,容易理解,程序的作用的读出一份数据,然后判断他的第4位是否为0,如果为0,则跳出循环,否则程序卡死等待。 也正因为这里的等待,导致读出的数据第4位不为0时程序卡死。 我...

    今天在使用stm32的过程中发现这样一个问题,程序莫名卡死。
    先来看导致卡死的代码

    这里写图片描述

        while ( ReadRawRC ( CommandReg ) & 0x10 );

    这是我们在程序中经常用到的写法,容易理解,程序的作用的读出一份数据,然后判断他的第4位是否为0,如果为0,则跳出循环,否则程序卡死等待。

    也正因为这里的等待,导致读出的数据第4位不为0时程序卡死。

    我自己的建议是:
    (1)如果程序需要写成while卡死等待的形式,可以在while循环后面加一句串口输出,当程序卡死时,如果没有串口输出数据,就证明程序是卡死在了while循环处
    (2)加超时判断,这是我们单片机老师在讲课的时候提到的,当等待的时间超过一定限度时,很明显单片机不能总在这里等待,可以在超时时返回一个错误报告,进而让程序可以执行其他的任务。

    展开全文
  • while循环

    千次阅读 2018-07-11 17:56:23
    while循环&lt;1&gt;while循环的格式 while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)... demo i = 0 while i &lt; 5: print("当前是第%d次执行...

    while循环

    <1>while循环的格式

        while 条件:
            条件满足时,做的事情1
            条件满足时,做的事情2
            条件满足时,做的事情3
            ...(省略)...
    

    demo

        i = 0
        while i < 5:
            print("当前是第%d次执行循环" % (i + 1))
            print("i=%d" % i)
            i+=1
    

    结果:

        当前是第1次执行循环
        i=0
        当前是第2次执行循环
        i=1
        当前是第3次执行循环
        i=2
        当前是第4次执行循环
        i=3
        当前是第5次执行循环
        i=4
    展开全文
  • 注意while循环的条件       #include&lt;stdio.h&gt; int main() { int n,sum; scanf("%d",&amp;n); int i =1; sum = 0; while(i&lt;=n){ sum+=i; i++; } printf...
  • Python while 循环

    千次阅读 2017-04-16 16:00:54
    在 Python 中,while 循环用于遍历代码块,只要判断条件为 True,就会一直不停地循环执行。 通常,在事先不知道迭代次数的情况下使用 while 循环
  • 循环结构的程序设计
  • java while循环_Java while循环

    千次阅读 2020-07-14 03:04:52
    java while循环Java while loop is used to execute a block of statements continuously till the given condition is true. Earlier we looked into java for loop. Java while循环用于连续执行语句块,直到给定...
  • While循环以及 do while 循环介绍

    千次阅读 2017-07-31 20:15:48
    一、While循环: 1、需要多次重复执行一个或多个任务的问题考虑使用循环来解决,在循环次数不确定的情况下,通常选用while或do-while循环,  任何循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、...
  • /* 一、while循环 循环语句:可以让一部分代码反复执行 while循环: 编写格式: while(条件){ 循环体 } 条件:当条件为true,就执行循环体,执行完循环体后 程序再次执行while中的条件,如果条件还是...
  • for和while循环语句用法 ...在python中,while循环,只有结果为真时,才会进入循环体,结果为假,就结束循环;所以while很容易就进入死循环,九九乘法表两个while(或者for)循环嵌套就实现了 3...
  • C语言while循环和do while循环详解

    千次阅读 多人点赞 2020-02-22 11:31:23
    在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何“拐弯抹角”; 选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符;...while循环的一般形式为: while(表达式)...
  • Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为: while 判断条件: 执行语句…… 执行语句可以是单个...
  • c++中While循环结束

    千次阅读 2013-11-21 20:49:59
    这种情况下,我们不知道...输入数字结束后,并不能通过回车跳出循环,而是需要输入非数字或者文件结束符 #include using namesapce std; int main() { int sum = 0, value; while (cin >> value) sum += val
  • 1.程序中断 break:跳出整个循环,不会再执行循环后面的内容 continue:跳出本次循环,continue...exit():结束程序的运行 for i in range(10): if i == 5: # continue # break exit() print('hello') ...
  • python——循环(for循环、while循环)及练习

    万次阅读 多人点赞 2019-02-20 17:11:44
    1.while 循环的基本使用 2.break 和 continue 3.while 循环嵌套 在程序开发中,一共有三种流程方式: 顺序:从上向下,顺序执行代码 分支:根据条件判断,决定执行代码的分支 循环:让特定代码重复执行(解决程序员...
  • B、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C、两种循环任何时候都可替换 D、两种循环结构中都必须有循环体,循环体不能为空 答案:A、C 解释: A:我没有找到可以反对的例子,所以A项...
  • 知识点:while循环、do-while循环、forxufo循环、ach循环的使用。 1、while循环 特点:先判断条件,条件为真,执行循环语句。条件为假,直接结束循环语句。 语法: while(条件表达式) {  循环语句;//如果条件...
  • 一、while循环 语句的格式: 1、格式:while(循环的条件){ 循环语句; }2、while循环语句要注意的事项: 1)while循环语句一般是通过一个变量控制其循环的次数。 2)while循环语句的循环体代码如果只有一个语句的...
  • 1.for(表达式1;表达式2;表达式3) 2.while(条件) {循环体} 3.do {循环体} while(条件)
  • do…while循环 while循环 for循环
  • Python while循环

    万次阅读 2017-12-07 08:34:54
    while循环结构 作用:提高开发效率,提高代码重用型,便于后期代码的维护! 基本格式: while 条件表达式: Python代码 Python代码 Python代码 ... 1.打印十行‘Hello World’ #初始化变量操作 i = 0 #while...
  • while循环嵌套

    万次阅读 2018-07-13 11:53:50
    while循环嵌套前面学习过if的嵌套了,想一想if嵌套是什么样子的?类似if的嵌套,while嵌套就是:while里面还有while&lt;1&gt;while嵌套的格式 while 条件1: 条件1满足时,做的事情1 条件1满足时,做的...
  • for循环和while循环的相互转换

    千次阅读 2019-07-22 18:00:19
    for循环和while循环都是我们能经常用到的方法。 for循环的格式为: for(初始化表达式;循环条件表达式;循环后的操作表达式){ 执行语句; } while循环的格式为: while(条件表达式){ 执行语句; } 然而这两种循环是...
  • for循环和while循环的区别??

    千次阅读 2019-03-16 11:28:12
    在编写程序时,我们会经常使用到循环,那么我们到底应该选择for循环还是while循环呢? 从应用场景方面考虑: for循环适用于已知循环次数,while循环适用于未知循环次数。 那么在已知循环次数时,最好选择for循环...
  • **《战国策·燕策二》:“此必令其言如循环,用兵如刺蜚绣。...以下分享学习C语言三种常见循环:while循环、do…while循环、for循环的心得。 while(表达式) 语句 “语句”就是循环体。循环体可以是一个语句...
  • c# while循环

    千次阅读 2018-03-22 20:09:57
    程序运行到while处,首先判断while所带的小括号内的循环条件是否成立,如果成立的话,也就是返回一个true,则执行循环体,执行完一遍循环体后,再次回到循环条件进行判断,如果依然成立,则继续执行循环体,如果不...
  • 这是其中一段代码,大体就是读一个文件里的字符串,为什么我调试发现每次读完最后一个字符串后,程序就在那个WHILE循环那退出了,不会执行循环外那条输出语句即 StdOut.println("(" + stack.size() + " left on ...
  • python while循环和双重循环

    千次阅读 2018-08-17 10:21:09
    #python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务。 #while是“当型”循环结构。 i=1 while i&lt;=20: print(i,end=" ") i+=1 sum=0 i=1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 615,776
精华内容 246,310
关键字:

while循环怎么结束程序