7.1 函数input()的工作原理

  函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便你使用。  

message = input("Tell me something, and I will repeat it back to you: ")
print(message)
Tell me something, and I will repeat it back to you: hello world
hello world

7.1.1 编写清晰的程序

  通过在提示末尾(这里是冒号后面)包含一个空格,可将提示与用户输入分开,让用户清楚地知道其输入始于何处

  有时候,提示可能超过一行,例如,你可能需要指出获取特定输入的原因。在这种情况下,可将提示存储在一个变量中,再将该变量传递给函数input() 。

prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name = input(prompt)
print("\nHello, " + name + "!")
If you tell us who you are, we can personalize the messages you see.
What is your first name? chang Hello, chang!

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

  函数int() 将数字的字符串表示转换为数值表示

7.1.3 求模运算符

  求模运算符 (%)是一个很有用的工具,它将两个数相除并返回余数

number = input("请输入一个数字,我将告诉您这个是奇数还是偶数: ")
number = int(number)
if number%2 == 0:
print("您输入的是偶数")
else:
print("您输入的是奇数")
请输入一个数字,我将告诉您这个是奇数还是偶数: 123
您输入的是奇数

7.1.4 在Python 2.7中获取输入

  如果你使用的是Python 2.7,应使用函数raw_input() 来提示用户输入。这个函数与Python 3中的input() 一样,也将输入解读为字符串。

  Python 2.7也包含函数input() ,但它将用户输入解读为Python代码,并尝试运行它们。因此,最好的结果是出现错误,指出Python不明白输入的代码;而最糟的结果是,将运行你原本无意运行的代码。

  如果你使用的是Python 2.7,请使用raw_input() 而不是input() 来获取输入。

7.2 while循环简介
7.2.1 使用while循环
7.2.2 让用户选择何时退出

  中定义了一个退出值,只要用户输入的不是这个值,程序就接着运行
7.2.3 使用标志

  定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志
7.2.4 使用break退出循环

  要立即退出while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break 语句。
7.2.5 在循环中使用continue

  continue 语句,让Python忽略余下的代码,并返回到循环的开头。

7.2.6 避免无限循环

active = True
while active:
message = input("请输入你的姓名:")
if message == "quit":
break
elif message == "continue":
continue
else:
print("你好," + message)
请输入你的姓名:chang
你好,chang
请输入你的姓名:continue
请输入你的姓名:li
你好,li
请输入你的姓名:quit Process finished with exit code 0

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

  for 循环是一种遍历列表的有效方式,但在for 循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while 循环。

  通过将while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

7.3.1 在列表之间移动元素  

checkList = ["aaa","bbb","ccc"]
checkedList = [] while checkList:
item = checkList.pop()
print(item + ":checked")
checkedList.append(item)
for item in checkedList:
print(item.title())
ccc:checked
bbb:checked
aaa:checked
Ccc
Bbb
Aaa

7.3.2 删除包含特定值的所有列表元素

checkList = ["aaa","bbb","ccc","aaa","bbb","ccc"]
print(checkList)
while "bbb" in checkList:
checkList.remove("bbb")
print(checkList)
['aaa', 'bbb', 'ccc', 'aaa', 'bbb', 'ccc']
['aaa', 'ccc', 'aaa', 'ccc']

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

responses = {}
active = True
while active:
name = input("请输入您的姓名:")
response = input("请输入您喜欢的颜色:")
responses[name] = response
repeat = input("您还想介绍其他人回答吗(yes/no)")
if repeat == "no" :
active = False
print(responses)
for name,response in responses.items():
print(name + "喜欢的颜色是:" + response)
请输入您的姓名:chang
请输入您喜欢的颜色:yellow
您还想介绍其他人回答吗(yes/no)yes
请输入您的姓名:li
请输入您喜欢的颜色:red
您还想介绍其他人回答吗(yes/no)yes
请输入您的姓名:wang
请输入您喜欢的颜色:blue
您还想介绍其他人回答吗(yes/no)no
{'chang': 'yellow', 'li': 'red', 'wang': 'blue'}
chang喜欢的颜色是:yellow
li喜欢的颜色是:red
wang喜欢的颜色是:blue

  

读书笔记「Python编程:从入门到实践」_7.用户输入和while循环的更多相关文章

  1. 读书笔记「Python编程:从入门到实践」_11.测试函数

    11.1 测试函数 要学习测试,得有要测试的代码.下面是一个简单的函数,它接受名和姓并返回整洁的姓名: def get_formatted_name(first, last): "" ...

  2. 读书笔记「Python编程:从入门到实践」_10.文件和异常

    10.1 从文件中读取数据  10.1.1 读取整个文件 with open(~) as object: contents=object.read() with open('C:/Users/jou/ ...

  3. 【笔记】Python编程 从入门到实践 第二版(基础部分)

    1 字符串相关函数 .title() # 将字符串每个单词的首字母大写 .upper() #不改变字符串变量的值 .lower() #不改变字符串变量的值 f"{var} ,字符串" ...

  4. python从入门到实践-7章用户输入和while循环

    #!/user/bin/env python# -*- coding:utf-8 -*- # input() 可以让程序暂停工作# int(input('please input something: ...

  5. 读书笔记「Python编程:从入门到实践」_9.类

    9.1 创建和使用类 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想. OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把 ...

  6. 读书笔记「Python编程:从入门到实践」_8.函数

    8.1 定义函数 def greet_user(): # def 来告诉Python你要定义一个函数.这是函数定义 """Hello World""& ...

  7. 读书笔记「Python编程:从入门到实践」_6.字典

    6.1 一个简单的字典 alien_0 = {'color': 'green', 'points': 5} print(alien_0['color']) print(alien_0['points' ...

  8. 读书笔记「Python编程:从入门到实践」_5.if语句

    5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': print(car.up ...

  9. 读书笔记「Python编程:从入门到实践」_4.操作列表

    4.1 遍历整个列表   4.1.1 深入地研究循环   4.1.2 在for循环中执行更多的操作   4.1.3 在for循环结束后执行一些操作  例 magicians = ['alice', ' ...

随机推荐

  1. ThinkPHP5 自定义异常

    1.配置config.php 自定义异常路径: // 默认AJAX 数据返回格式,可选json xml ...'default_ajax_return' => 'json', 'exceptio ...

  2. Redis学习总结(2)——Java使用Redis

    安装 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. Java的安装配置可以参考我们的 Java ...

  3. 关于新世界的大门(新博客地址:BBBob.cf)

    更新:BBBob.cf 这个域名已经不用了(但是依旧可以访问),永久域名改为了BBBob.win 新博客地址为BBBob.cf,以后的博客都会在新博客更新,当然在新博客上我也会写得更用心些,不再像这里 ...

  4. 火柴棒等式(2008年NOIP全国联赛提高组)

    题目描述 Description 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: ...

  5. ZooKeeper的下载方法

    1.进入官网: https://zookeeper.apache.org/releases.html 2.进入服务器列表: http://www.apache.org/dyn/closer.cgi/z ...

  6. mapreduce v1.0学习笔记

    它是什么? 一个用于处理大数据开源的分布式计算框架,它由java实现,原生提供java编程交互接口,其它语言通过hadoop streaming方式和mapreduce框架交互. 可以做什么? 利用框 ...

  7. MVC.NET:提供对字体文件.woff的访问

    在我们的项目中如果使用到了Bootstrap框架的话,通常都必须要支持对其自带的glyphicons-halflings-regular的font文件的访问. 诸如在MVC.NET中,如果一开始什么设 ...

  8. 最小生成树模板(poj3625)

    Building Roads Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9360   Accepted: 2690 De ...

  9. 3.CCFadeOutTRTiles,部落格效果,跳动的方块特效,3D瓷砖晃动特效,破碎的3D瓷砖特效,瓷砖洗牌特效,分多行消失特效,分多列消失特效

     1 TiledGrid3D //TiledGrid3D //CCFadeOutTRTiles * action = CCFadeOutTRTiles::create(2, CCSize(20,2 ...

  10. 利用jquery将页面中所有目标为“#‘的链接改为其他URL

    有一张页面草稿,开始时为了方便,里面差不多所有的<a>都指向了"#".现在要修改为另一个地址,难道要全部修改吗?用jquery 改改就好.代码如下: <scrip ...