7.1 函数input()的工作原理

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

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

7.1.1 编写清晰的程序

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

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

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

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

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

7.1.3 求模运算符

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

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

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 避免无限循环

  1. active = True
  2. while active:
  3. message = input("请输入你的姓名:")
  4. if message == "quit":
  5. break
  6. elif message == "continue":
  7. continue
  8. else:
  9. print("你好," + message)
  1. 请输入你的姓名:chang
  2. 你好,chang
  3. 请输入你的姓名:continue
  4. 请输入你的姓名:li
  5. 你好,li
  6. 请输入你的姓名:quit
  7.  
  8. Process finished with exit code 0

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

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

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

7.3.1 在列表之间移动元素  

  1. checkList = ["aaa","bbb","ccc"]
  2. checkedList = []
  3.  
  4. while checkList:
  5. item = checkList.pop()
  6. print(item + ":checked")
  7. checkedList.append(item)
  8. for item in checkedList:
  9. print(item.title())
  1. ccc:checked
  2. bbb:checked
  3. aaa:checked
  4. Ccc
  5. Bbb
  6. Aaa

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

  1. checkList = ["aaa","bbb","ccc","aaa","bbb","ccc"]
  2. print(checkList)
  3. while "bbb" in checkList:
  4. checkList.remove("bbb")
  5. print(checkList)
  1. ['aaa', 'bbb', 'ccc', 'aaa', 'bbb', 'ccc']
  2. ['aaa', 'ccc', 'aaa', 'ccc']

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

  1. responses = {}
  2. active = True
  3. while active:
  4. name = input("请输入您的姓名:")
  5. response = input("请输入您喜欢的颜色:")
  6. responses[name] = response
  7. repeat = input("您还想介绍其他人回答吗(yes/no)")
  8. if repeat == "no" :
  9. active = False
  10. print(responses)
  11. for name,response in responses.items():
  12. print(name + "喜欢的颜色是:" + response)
  1. 请输入您的姓名:chang
  2. 请输入您喜欢的颜色:yellow
  3. 您还想介绍其他人回答吗(yes/noyes
  4. 请输入您的姓名:li
  5. 请输入您喜欢的颜色:red
  6. 您还想介绍其他人回答吗(yes/noyes
  7. 请输入您的姓名:wang
  8. 请输入您喜欢的颜色:blue
  9. 您还想介绍其他人回答吗(yes/nono
  10. {'chang': 'yellow', 'li': 'red', 'wang': 'blue'}
  11. chang喜欢的颜色是:yellow
  12. li喜欢的颜色是:red
  13. 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. [转]如何有效地报告Bug

    英文原文:Simon Tatham,编译:Dasn 引言 为公众写过软件的人,大概都收到过很拙劣的bug报告,例如: 在报告中说“不好用”: 所报告内容毫无意义: 在报告中用户没有提供足够的信息: 在 ...

  2. mybatis源码阅读-MappedStatement各个属性解析过程(八)

    调用方 类org.apache.ibatis.builder.xml.XMLMapperBuilder private void configurationElement(XNode context) ...

  3. 清北学堂模拟赛d7t1 消失的数字

    题目描述 现在,我的手上有 n 个数字,分别是 a1; a2; a3; :::; an.我现在需要删除其中的 k 个数字.当然我不希望随随便便删除,我希望删除 k个数字之后,剩下的 n - k 个数中 ...

  4. DTrace Probes In MySQL 自定义探针

    Inserting user-defined DTrace probes into MySQL source code is very useful to help user identify the ...

  5. Android使用GestureDetector实现手势滑动效果

    直接看实例: package com.example.gesturedetector; import android.os.Bundle; import android.app.Activity; i ...

  6. 《Java课程实习》日志(周二)

    import java.awt.EventQueue; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.sw ...

  7. java 集合交并补

    通过使用泛型方法和Set来表达数学中的表达式:集合的交并补.在下面三个方法中都将第一个參数Set复制了一份,并未直接改动參数中Set. package Set; import java.util.Ha ...

  8. luogu2746 校园网

    题目大意: 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要 ...

  9. Android 系统开机logo的修改【转】

    本文转载自:http://blog.csdn.net/yandongqiangZHRJ/article/details/8585273 看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送 ...

  10. Swift版本UIWebView长按保存图片

    起因 最近需要做个IOS的壳子,用到长按保存图片的功能,发现百度出来的全是OC语法的例子,很多都不是全面,只能自己写一份Swift版本的,图片下面附上Github地址 效果图 Github地址:htt ...