python小咖 while循环

本文详细介绍了Python中的while循环,重点讲解了continue和break关键字的区别。使用continue时,循环会跳回while开头并继续执行;而遇到break则会立即跳出整个循环。通过实例演示了它们在循环中的应用,包括一个斐波那契数列的编程挑战。

1.遇到执行continue 时,即跳回到while开头,再次执行循环语句。

i=1
while i<10:
    i=i+1
    if i%2>0:
        continue

    print(i)
    

可复制到清华毕神的在线测试:http://pythontutor.makerbean.com/#mode=display

 

也可直接点击链接查看:http://pythontutor.makerbean.com/#code=i%3D1%0Awhile%20i%3C10%3A%0A%20%20%20%20i%3Di%2B1%0A%20%20%20%20if%20i%252%3E0%3A%0A%20%20%20%20%20%20%20%20continue%0A%0A%20%20%20%20print%28i%29&cumulative=false&curInstr=38&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false

 

2.break与continue不同,遇此即跳出本循环体,进入循环语句之后的其它语句。

 

其他例子:

若k为整型,下述while循环一共执行______次后,输出数值为_____。
k = 1000
while k >1:
	k = k/2

print(k)

'''
n=1
k=1000
while k>1:
	print(k)
	k=k/2
	
	print(n)
	n+=1

print(k)

用Python 编程,假设一年期定期利率为3.25%,
计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?

year0=0
money0=10000
while  money0<20000:
	year0=year0+1
	# money0=money0+money0*0.00325*10
	money0=money0*(1+0.00325*10)

	print(year0)
	print(money0)
	
print(str(year0)+"年后以后,存款会翻番")

听课记录:
# 用Python编程,假设一年期定期利率为3.25%, 计算一下需要过
# 多少年,一万元的一年定期存款连本带息能翻番?

years=0
deposit=10000

while deposit<20000:    #不明确知道循环多少次的时候,用while,明确知道多少次用for循环
	deposit*=1.0325
	years+=1
print(years)

使用while循环将列表内的奇数和偶数分开#下一个代码毕老师提供的比这个好。

liebiao=[1,2,3,4,5,6,7,8,9,10,11]
oushuo=[]
jishuo=[]
n=0
while  n<=(len(liebiao)-1):
	# print('第'+str(n+1)+'次取数')

	if liebiao[n]%2==0:
		
		oushuo.append(liebiao[n])
		print(oushuo)
	else:
		jishuo.append(liebiao[n])
		print(jishuo)
	n+=1
print(oushuo)
print(jishuo)

 

(关于print注意,print()括号里可以用纯变量,比如name='abcd',可以用print(name),

如果有其它字符串,则需用个 连接,比如print(name+"efg")

如果变量是数字类型的,则还需把变量用 str 转换一下才能连接,比如bb=23,则print(str(bb)+"efg")。同类型的才能连接。)



题目同上题:

number=[1,2,3,0,4,5,6,7]
odd = []
even =[]
while len(number)>0:
	numbers = number.pop()#这个取数的操作比较妙些,用减法思路,要判断的越来越少。
	#.pop()方法移除列表中的一个元素,并且返回该元的值,默认移除最后一个元素。
	if numbers % 2==0:
		even.append(numbers)#偶数
	else:
		odd.append(numbers) #奇数

print("奇数是:"+str(odd))
print("偶数是:"+str(even))

numbers=number.pop()这个没有用到单独的计数语句,比较简捷

 

 

# 斐波那契数列为1,2,3,5,8,13121....根据这样的规律,尝试编程求
# 出400万以内最大的斐波那契数,并求出他是第几个斐波那契数。
#解析:后项是前两项之和.即,a,b,c ==> c=a+b

a=2
b=1
counts=1
#while  a<10:   #先设一个小一点数10,以便验证编程运算结果
while  a<4000000:   #再设400 0000

    # pre_a=a
    # a=a+b
    # b=pre_a
    a,b = a + b,a #分别赋值.此一句效果等同于上面三句.程序先算出=号右边的值,然后赋给左边
    counts +=1
print(f'第{counts}个斐波那契数列的数字是{b}')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值