10 WHILE循环

循环又来啦

大纲

  • while循环

  • 练习:计算偶数

  • 死循环

  • 练习:回文数

  • 练习:最小公倍数

  • 练习:最大公约数

while循环

上节课学到的FOR循环可以用另一种循环来代替处理。例如找出哪些数字是偶数

numbers = [0,1,2,3,4,5,6,7,8,9]
for x in numbers:
    if x%2==0:
        print(x)
0
2
4
6
8

while循环后的条件当得到满足时则运行后面的循环体中的代码,如果不满足则跳出。

但是他们各有优势,for循环适用于有明确的循环对象的情况,while循环适用于有明确退出条件的情况。

练习:计算偶数

100以内所有偶数的和是多少?

死循环

一个葡萄树高170CM,一个蜗牛从底部往上爬,每分钟爬30CM,每爬一分钟后要休息一分钟,休息的时候,会往下滑10CM,计算它需要多少时间才能爬到树顶。

因为这种情况不大好写出退出的条件,所以用一个真值来做条件。

这里while后面的条件是true,也就是会一直循环下面,但里面使用了break语句,也就是一个退出条件。如果把退出条件写在while后面,那么计算出来的结果不正确,你能看出为什么吗?

练习:寻找回文数

地满红花红满地,天连碧水碧连天。这是一个回文对联,正读反读都是一样的。在数学中也有类似的现象就是回文数。例如12321就是一个回文数。编写一个程序来判断一个数字是否回文数。

思路是这样的,将原来的数字按位数拆开,再将顺序逆反,组合成新的数字,如果新的数字和原来数字一样,则是一个回文数。

另一种处理方式是将它当作字符串来处理

练习:寻找最小公倍数

小明每3天去一次图书馆,小王每4天去一次图书馆,有一天他们正好偶遇,问再过多少天,他们会再次相遇?这个问题实际是求两个数字的最小公倍数

练习:寻找最大公约数

辗转相除法来求最大公约数

Last updated