本节课就是记住while的结构就行了
while <循环的条件>:
循环语句
当满足循环条件是就执行循环语句(语句块)
i+=1
即为i=i+1
好像Python没有自增自减的用法,即c中的i++,i–
刚学编程语言的同学可能不理解i=i+1的意思,原因还是对‘=’不理解,这是赋值符号不是数学中的等号。
测试题:
1、若k为整型数,下属while循环执行的次数为——、一共输出了——个数字。
k=1000
while k>1:
print(k)
k=k/2
A:9 10
B:10 9
C:11 10
D:10 11
2、(多选题)下列Python语句正确的是()
A:min = x if xy?x:y
C:if(x>y)print(x)
D:while True:pass
3、有代码如下,请判断最后一个输出的数字是——。
n = 1
while n<=100:
if n>10:
break
print(n)
n=n+1
A:100
B:10
C:11
D:99
4、while循环,只要while后面的条件为——时才能不断循环,条件不满足时,退出循环。
答案:True
5、(拓展)在循环语句中,——语句的作用是提前进入下一次循环。
6、关键字——用于测试一个对象是否是一个可迭代对象的元素。in
7、表达式3 or 5的值为——。3
8、表达式0 or 5 的值为——。5
9、表达式3 and 5 的值为——。5
10、表达式 3 and not 5 的值为——。False
11、下面的程序能否正常运行,若不能,请解释原因;若能,请分析执行结果。
from random import randint
result = set()
while True :
result.add(randint(1,10))
if len(result)==20:
break
print(result)
12、用Python编程,假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带利能翻番。
13、使用while循环将列表内的奇数和偶数分开。
14、斐波那契数列为1,2,3,5,8,13,21,……根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个斐波那契数。
答案区:
1、答案:A
解析:我不管反正我觉得这个题有问题(助教说这个没有问题,我再看看)
2、答案:A,D
解析:A是python中的三目运算符书写方式,格式为“条件为真时的结果 if 判段的条件 else 条件为假时的结果”,B是其他语言如java、C中三目运算符的书写方式。C在if条件后缺少了冒号。D正确。
3、B
解析:因为while中有break语句,当n=10时还在输出,n=11时直接break(退出while循环)
4、答案:真(True)
5、答案:continue
解析:break语句直接跳出循环
continue语句跳出本次循环,进行下一次循环的判断(说的不太严谨)
6、答案:in
7~10、答案:在题上
11、答案:无法正确执行,因为该程序的功能是从[1,10]区间中选择20个不同的随机整数,而该区间并没有这么多整数,所以程序死循环
解析:查看random模块的相关知识就知道了
12、答案:
#用Python 假设一年的定期利率为3.25%,多少年翻一番
i = 1 #i为总钱数
j = 0
while i<2:
i = i*(1+0.0325)
j = j+1
print(j)
13、答案:(用到字符串的一些方法(函数))
number = [1,2,3,0,4,5,6,7]
oushu = []#初始没有元素
jishu = []
while len(number)>0:
numbers = number.pop()
if numbers %2 ==0:
oushu.append(numbers)
else:
jishu.append(numbers)
print(jishu)
print(oushu)
14、答案:
#求fibonacci中400万内最大的数,并求是第几项
a = 1
b = 2
fibo = 3
j = 3
while fibo<4000000:
print(fibo)
fibo = fibo + b
a = b
b = fibo - b
j = j+1
print(j)
以后我尽量加一些说明性的文字
大家可以加我的微信号,一起交流啊: