Python小咖班(while循环)2018年12月10号

本节课就是记住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)

以后我尽量加一些说明性的文字

大家可以加我的微信号,一起交流啊:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/anyifan369/article/details/84938630