python中while not循环_MyPython-->基础篇-->输入与while循环

我们需要用户传入值,并使用这个值。我们就可以使用input()这个函数,可以打印input()括号内的内容,并等待用户输入,并在用户输入回车后继续运行。

当我们使用input()函数时,我们都应指定清晰而易明白的提示,准确指出希望用户的输入

name = input('please enter you name \n')print('welcome %s'%name)

age= input('please enter your age:')print('%s 年龄 %s'%(name,age))

当input()内的字符串过长超过一行时为了方便代码阅读,我们可以将字符串定义到变量内。

welcome = '''1.for the lichking

2.for the freedom'''input(welcome)

while 循环简介

for循环用于针对集合中的每个元素都一个代码块,而while循环不断的运行,直到指定的条件不满足为止。

可以使用while循环来数数

1 count_num = 1

2 while count_num<6:3 print(count_num)4 count_num+=1

只要满足while后面的表达式,都执行循环内的代码,不满足结束

让用户选择合适退出

message = input('enter q exit')while message !='q':

message= input('enter q exit')

先让用户输入,并提示输入q结束。当输入q的时候不走循环,输入其他的时候进入循环,直到输入q

1 welcome = 'welcome to notjoke,enter q exit:\n'

2 get_str = ''

3 while get_str !='q':4 get_str =input(welcome)5 if get_str != 'q':6 print(get_str)

对代码进行改进,将用户输入的全部输出出来,直到用户输入q,q不会打印

使用标志

在我们平常使用过程中,有很多情况导致程序停止运行,怎么办呢

比如:游戏中,生命值没了,守护的基地没了都会让游戏结束,如果在一个while语句中检查所有这些条件,将既复杂有困难

因此我们可以定义一个变量,用于判断整个程序是否处于活动状态。这个变量称之为标志,充当了程序的交通信号灯。

我们可以对之前的代码进行修改

1 welcome = 'welcome to notjoke,enter q exit:\n'

2 active = 1

3 get_str = ''

4 whileactive:5 get_str =input(welcome)6 if get_str != 'q':7 print(get_str)8 else:9 active = 0

当然这里也可以用True和False,这里需要判断active的值,默认为true,直到输入q后,将active的值变为0,条件判断不通过跳出循环

我么将active设置成了true,让程序最初处于获得状态,这样简化了while,因为不需要再做任何比较,相关的逻辑由程序其他部分来执行

break

要立即退出while循环,不再允许代码中余下的代码,也不管测试结果如何可使用break语句。break用于控制程序流程,可使用他来控制哪些代码将执行,哪些不执行,从而让程序按你的要求执行代码。

还是上个例子我们可以让用户输入q时,break

while 1:

message= input('enter q exit')if message =='q':break

else:print(message)

死循环直到用户输入q时,break会打断跳出循环,任何循环中都可以使用break,比如可用break来退出遍历列表或字典

continue

要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句 比如

for x in range(1,11):if x%2 ==0:continue

print(x)

x=0while x<11:

x+=1

if x%2 ==0:continue

print(x)

如果能整除2,跳回循环那,不能的话打印出来

避免无限循环

for循环是一种遍历列表的有效方式,但在for循环中不应该修改列表否则将导致python难以追踪其中的元素。要在遍历列表的同时进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集和存储并组织大量输入,供以后查看和显示

假设一个列表,其中包含新注册但还未验证的网站用户。验证这些用户后,如何将他们移动到另一个已验证用户列表中呢 ?

1 wyz_list = ['cc','yy','sc']2 yz_list =[]3 whilewyz_list:4 yz_name =wyz_list.pop()5 print('%s 验证成功'%yz_name)6 yz_list.append(yz_name)7 for x inyz_list:8 print(x)

通过while循环删除列表内指定值的全部元素

我们可以通过remove()方法删除指定元素,但是remove()一次只能删除一个元素,删除所有的可以用while对列表判断直到列表内没有 指定值

lc = [1,1,2,3,1]while 1 inlc:

lc.remove(1)print(lc)

先判断列表中是否包含指定值,如果包含执行循环内语句,删除后再检查是否在列表内,在继续循环直到列表内没有指定值的元素

使用用户输入来填充字典

1 active = 1

2 responses ={}3 whileactive:4 name = input('enter your name')5 job = input('enter your job')6 responses[name] =job7 choose = input('enter anything input,enter no exit')8 if choose == 'no':9 active = 0

active标志

练习

创建一个名为sandwich_orders的列表,在其中包含三明治的名字,再创建一个finished_sandwiches。遍历第一个个列表,并打印  i made your tuna sandwich ,并将它转移到第二个列表。都做完后将第二个列表打印

1 sandwich_orders = ['ss','nn','aa','kk','ee']2 finished_sandwiches =[]3 whilesandwich_orders:4 sandwich =sandwich_orders.pop(0)5 finished_sandwiches.append(sandwich)6 print('%s make over'%sandwich)7 print(finished_sandwiches)

while 内判断列表是否空,每次都删除列表第一个值,删完结束打印第二个列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值