用户输入和while循环(python学习)

目录

 

6.1函数input()的工作原理

6.1.1简单的input()函数示例

 6.1.2使用int()来获取数值输入

6.1.3求模运算符

6.2while循环简介

6.2.1使用while循环

6.2.2让用户选择如何退出

 6.2.3使用标志

6.2.4使用break退出循环

6.2.5在循环中使用continue

6.3使用while循环处理列表和字典

6.3.1在列表之间移动元素

6.3.2删除为特定值的所有列表元素

6.3.3使用用户输入来填充字典


 

6.1函数input()的工作原理

函数input()让程序暂停运行,等待用户输入一些文本,获取用户输入后,python将其赋给一个变量,方便使用。

6.1.1简单的input()函数示例

:下面的程序让用户输入一些文本,再将这些文本呈现给用户。

#input工作原理
name=input("please enter your name:")
print(f"your name is {name}")

 

 6.1.2使用int()来获取数值输入

使用函数input()时,python将用户输入解读为字符串。请看下一个例子

int()将这个字符转换成了数值表示。

后续做出比较,是否大于所输入的数值

age=input("please enter your age:")
age=int(age)
print(f"your age is {age}")
print(age>=15)
if age>15:
    print("yes")
else:
    print("no")
please enter your age:12
your age is 12
False
no

6.1.3求模运算符

处理数值信息时,求模运算符(%)是个很有用的工具,它将两个数相除并返回余数

可以用来判断奇偶数。

如果能被2整除,则为偶数,反之则为奇数

4%3,即返回4/3的余数

number=input("please enter a number")
number=int(number)
if number%2==0:
    print("这是偶数")
else:
    print("这是奇数")

6.2while循环简介

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

6.2.1使用while循环

可以使用while循环来数数

#while循环
number=1
while number<=5:
    print(number)
    number+=1

6.2.2让用户选择如何退出

可以使用while循环让程序在用户愿意时不断运行,像下面我们举的这个例子。我们在其中定义了一个退出值,只要用户输入的不是这个值,程序就将接着运行。

prompt=print("输入一串字符,输入‘quit;'结束")
message=""
while message !='quit':
    message=input(prompt)
    if message !='quit':
        print(f"你输入的字符是{message}")

 6.2.3使用标志

在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志(flag),充当程序的交通信号灯。可以让程序在标志为True时继续运行,并在任何事件导致标志的值为False时让程序停止运行。

这样,在while语句中就只需要检查一个条件:标志的当前值是否为True。然后将所有其它测试(是否发生了应将标志设置为False的事件)都放在其他地方,从而让程序更加简洁。

例:在上一例的程序中添加一个标志,用于判断程序是否应继续运行
这样做,程序更加简洁漂亮,且效率更高。

将变量active设置为True,让程序最初处于活动状态。这样做简化了while语句。

prompt=print("输入一串字符,输入‘quit;'结束")
active=True
while active:
    message=input(prompt)
    if message =='quit':
        active=False
    else:
        print(message)

6.2.4使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,可使用break语句

break语句用于控制程序流程

:来看一个让用户指出他到过那些地方的程序。在这个程序中可在用户输入‘quit’ 后使用break语句立即退出while循环:

prompt=print("输入一串字符,输入‘quit;'结束")
while True:
    message=input(prompt)
    if message =='quit':
        break
    else:
        print(message)

6.2.5在循环中使用continue

要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,它不像break语句那样不再执行余下代码并推退出整个循环。

:来看一个从1到10但只打印其中奇数的循环

number=0
while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

6.3使用while循环处理列表和字典

6.3.1在列表之间移动元素

假设有一个列表包含新注册但还未验证的网站用户。验证这些用户后,如何将他们移到另一个已验证的用户列表呢?一种办法是使用一个while循环,在验证用户的同时将其从未验证用户列表中提取出来,再将其加入另一个已验证用户列表中。代码可能类似于下面这样:

cars=['bmw','audi','toyota','subaru']
con=[]
while cars:
    current=cars.pop()
    print(current)
    con.append(current)
print(con)
subaru
toyota
audi
bmw
['subaru', 'toyota', 'audi', 'bmw']

6.3.2删除为特定值的所有列表元素

在之前,我们使用remouve()来删除列表中的特定值,是因为要删除的值只在列表中出现一次。下面看看如何删除列表中所有特定值的元素。

cars=['bmw','audi','toyota','subaru']
print(cars)
while 'audi' in cars:
    cars.remove('audi')
print(cars)

6.3.3使用用户输入来填充字典

可使用while循环提示用户输入任意多信息。下面创建一个调查程序,其中的循环每次执行时都提示输入被调查者的名字和回答。我们将收集的数据存储在一个字典中,以后将回答和被调查者关联起来:

responses={}
tf=True
while tf:
    name=input("what is your name?")
    response=input("whatis the day?")
    responses[name]=response
    yn=input("你还想继续吗?")
    if yn=='no':
        tf=False
for name,response in responses.items():
    print(f"he name is {name},this is {response}")
what is your name?1
whatis the day?1
你还想继续吗?1
what is your name?2
whatis the day?2
你还想继续吗?no
he name is 1,this is 1
he name is 2,this is 2

 

请指正

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值