Python编程入门到实践 - 笔记( 7 章)


第 7 章讲了用户输入 input( ) 和 while 循环,内容如下

input( ) 工作原理

超过一行的 input( )

int( ) 来获取数字的输入,进行比较

求模运算

简单的 while 循环。我自己的理解就是设定一个条件,while 满足这个条件开始循环,不满足退出

break 直接退出

continue 跳出当前层的循环

避免无限循环

while 在列表中的应用

while 删除列表中指定的字符串 remove()

用户输入的字符来填充字典

input( ) 工作原理

首先定义 input( ) 函数括号中向用户显示提示说明,让用户输入内容

在将用户输入的内容保存到变量 message 中,最后打印

-------------------------------------------------------------------------------------------

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: haha  
haha

编写清晰的程序

---------------------------------------------------------

name = input("Please enter your name: ")  
print("Hello, " + name + "!")

---------------------------------------------------------

Please enter your name: python  
Hello, python!

超过一行的 input

如果想打印多行提示信息,可以使用 +=

-------------------------------------------------------------------------------------------

prompt = "If you tell us who you are, we can personalize the message 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 message you see.  
What is your first name? python

Hello, python!

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

如果不指定 age=int(age),python将会报错

-------------------------------------------

age = input("How old are you? ")  
print(age)

age = int(age)

if age >= 18:  
     print(age)

-------------------------------------------

How old are you? 29  
29    
29

int( ) 进行数值比较,进行测试

--------------------------------------------------------------------------------

height = input("How tall are you, in inches? ")  
height = int(height)

if height >= 36:  
     print("\nYou‘re tall enough to ride!")    
else:    
     print("\nYou‘ll be able to ride when you‘re a little older.")

--------------------------------------------------------------------------------

How tall are you, in inches? 89

You‘re tall enough to ride!

求膜运算符

两个数相除,返回余数

---------------------

print(4 % 3)  
print(5 % 3)    
print(6 % 3)    
print(7 % 3)

----------------------

1  
2    
0    
1

可以利用求模来计算一个数是奇数还是偶数

-------------------------------------------------------------------------------------------

number = input("Enter a number, and I‘ll tell you if it‘s even or odd: ")  
number = int(number)

if number % 2 == 0:  
     print("\nThe number " + str(number) + " is even.")    
else:    
     print("\nThe number " + str(number) + " is odd.")

-------------------------------------------------------------------------------------------

Enter a number, and I‘ll tell you if it‘s even or odd: 78

The number 78 is even.

while 循环

如果 while 小于等于 5,就一直运行

打印一次后,就将 current_number 的数值 +1

--------------------------------------

current_number = 1  
while current_number <= 5:    
     print(current_number)    
     current_number += 1

--------------------------------------

1  
2    
3    
4    
5

让用户选择何时退出

如果用户不输入 quit,就一直循环下去

-------------------------------------------------------------------------------------

prompt = "\nTell me something, and I will repeat it back to you:"  
prompt += "\nEnter ‘quit‘ to end the program. "    
message = ""

while message != ‘quit‘:  
     message = input(prompt)    
     print(message)

-------------------------------------------------------------------------------------

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. zhao    
zhao

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. shanshan    
shanshan

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. quit    
quit

进行更改

上面的程序在用户输入 quit 时,也会将 quit 作为消息在打印一遍

代码中并没有定义如果用户输入 quit 会怎么样,所以当用户输入 quit

直接结束循环,退出

-------------------------------------------------------------------------------------

prompt = "\nTell me something, and I will repeat it back to you:"  
prompt += "\nEnter ‘quit‘ to end the program. "    
message = ""

while message != ‘quit‘:  
     message = input(prompt)

if message != ‘quit‘:  
          print(message)

-------------------------------------------------------------------------------------

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. zhao    
zhao

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. quit

继续改进上面的代码

就像刚才说的,并没有指定如果用户输入 quit 会怎么样

其实在 while 循环中嵌套一个 if-else 语句就可以了

但是开始循环时,先定义一个 active=True

如果是 True 就循环,是 False 就停止循环

------------------------------------------------------------------------------------

prompt = "\nTell me something, and I will repeat it back to you:"  
prompt += "\nEnter ‘quit‘ to end the program. "

active = True  
while active:    
     message = input(prompt)

if message == ‘quit‘:  
          active = False    
     else:    
          print(message)

------------------------------------------------------------------------------------

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. zhao    
zhao

Tell me something, and I will repeat it back to you:  
Enter ‘quit‘ to end the program. quit

break 直接退出循环

还是以上面的代码为例,当用户输入 break 时,直接 break,结束当前的 while 循环

-----------------------------------------------------------------------------------

prompt = "\nPlease enter the name of a city you have visited:"  
prompt += "\n(Enter ‘quit‘ when you are finished.)"

while True:  
     city = input(prompt)

if city == ‘quit‘:  
          break    
     else:    
          print("I‘d love to go to " + city.title() + "!")

-----------------------------------------------------------------------------------

Please enter the name of a city you have visited:  
(Enter ‘quit‘ when you are finished.)zhao    
I‘d love to go to Zhao!

Please enter the name of a city you have visited:  
(Enter ‘quit‘ when you are finished.)shushu    
I‘d love to go to Shushu!

Please enter the name of a city you have visited:  
(Enter ‘quit‘ when you are finished.)quit

continue 跳出当前的循环

每循环一次就 +1,当 current_number 可以被 2 整除的时候

就执行 continue,跳出这一层循环,继续 while 的下一次循环

------------------------------------------

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

print(current_number)

------------------------------------------

1  
3    
5    
7    
9

避免无限循环

死循环代码如下,x 开始等于 1,在第一次循环结束后并没有变,

一直等于 1,永远满足  x <= 5 的条件,所以会被一直打印

------------------

x = 1  
while x <= 5:    
     print(x)

------------------

正常代码

需要指定一个条件,每循环一次 x 的值都 +1

------------------

x = 1  
while x <= 5:    
     print(x)    
     x += 1

------------------

while 在列表中的应用

-----------------------------------------------------------------------

unconfirmed_users = [‘alice‘, ‘brian‘, ‘candace‘]  
confirmed_users = []

while unconfirmed_users:  
     current_user = unconfirmed_users.pop()

print("Verifying user: " + current_user.title())  
     confirmed_users.append(current_user)    
    
print("\nThe following users have been confirmed:")    
for confirmed_user in confirmed_users:    
     print(confirmed_user.title())

-----------------------------------------------------------------------

Verifying user: Candace  
Verifying user: Brian    
Verifying user: Alice

The following users have been confirmed:  
Candace    
Brian    
Alice

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

while 中一直执行 remove( ) 删除列表中的 cat 字符

----------------------------------------------------------------------

pets = [‘dog‘, ‘cat‘, ‘dog‘, ‘goldfish‘, ‘cat‘, ‘rabbit‘, ‘cat‘]  
print(pets)

while ‘cat‘ in pets:  
     pets.remove(‘cat‘)

print(pets)

----------------------------------------------------------------------

[‘dog‘, ‘cat‘, ‘dog‘, ‘goldfish‘, ‘cat‘, ‘rabbit‘, ‘cat‘]  
[‘dog‘, ‘dog‘, ‘goldfish‘, ‘rabbit‘]

用户输入来填充字典

定义一个空的字典 responses

定义 polling_active = True 开始循环,等于 False 退出循环

让用户分别输入 name,response

responses[name] = response  将用户输入的添加到 responses 字典中

for 循环 items( ) 遍历 responses 字典

-------------------------------------------------------------------------------------------

responses = {}

polling_active = True

while polling_active:  
     name = input("\nWhat is your name? ")    
     response = input("Which mountain would you like to climb someday? ")

responses[name] = response

repeat = input("Would you like to let another person respind? (yes/ no) ")  
     if repeat == ‘no‘:    
          polling_active = False

print("\n--- Poll Results ---")  
for name, response in responses.items():    
     print(name + " would like to climb " + response + ".")

-------------------------------------------------------------------------------------------

What is your name? shanshan  
Which mountain would you like to climb someday? taiqiu    
Would you like to let another person respind? (yes/ no) no

--- Poll Results ---  
shanshan would like to climb taiqiu .

时间: 2024-10-10 01:43:24

Python编程入门到实践 - 笔记( 7 章)的相关文章

Python编程入门到实践 - 笔记(1,2章)

自学 Python 有段时间了,总是觉得自己基础不牢,想着把看完的两本基础书写个博客做个笔记啥的. 准备在重新看一遍<Python编程入门到实践>,坚持写博客笔记. Python编程入门到实践的前两章笔记,学习的内容如下: 查看当前环境中的 python 版本 python环境的搭建 变量和变量的命名 字符串的打印 修改字符串的大小写 制表符和换行符 删除空白字符 python的整数运算,计算平方,立方 使用 str() 函数 查看当前环境中的 python 版本 命令行下输入 python 

Python编程入门到实践 - 笔记( 8 章)

第 8 章主要练习了各种函数,内容如下 定义一个简单的函数 向函数传递信息 什么是形参 什么是实参 位置参数 多次调用函数 关键字实参 默认值参数 返回值 return 让参数编程可选的 返回字典 结合使用函数和 while 循环 传递列表 在函数中修改列表 传递任意数量的实参 传递任意数量的参数并循环打印 结合使用位置参数和任意数量实参 使用任意数量的关键字实参 导入整个模块 导入特定的函数 使用 as 给函数指定别名 使用 as 给模块指定别名 导入模块中所有的函数 定义一个简单的函数 直接

Python编程入门到实践 - 笔记( 5 章)

第 5 章练习了以下内容 简单的 if 判断语句 判断字符串是否相等,还是不等 进行数字的大小比较 and,or 比较 检查列表中是否存在指定的元素 if,if-else,if-elif-else 语句写法 if 判断列表是否为空 使用多个列表进行比较判断 这一章的内容也比较简单,感觉和 shell 差不多,但还是多练习吧. 希望路过的大牛指出不足,小弟在此谢过了. 一个简单的 if 判断语句 循环打印 cars 列表中的元素,如果其中的元素等于 bmw,就全部大写打印 否则只是将元素的首字母大

Python编程入门到实践 - 笔记( 9 章)

第 9 章主要讲的类,这个之前在 shell 中没遇到过 一直运用的也不是很溜,不过多敲多练,应该会有进步吧 创建类和使用类 创建一个 Dog 类 --------------------------------------------------------------------- class Dog():         def __init__(self, name, age):               self.name = name               self.age

Python编程入门到实践 - 笔记( 6 章)

第 6 章主要练习了各种字典,以下内容 什么是字典 字典中 键-值 的关系 一个简单的字典 通过字典中的键查找其对应的值 在字典中添加 键-值 修改字典中的值 遍历字典中的键值对 items( ) 遍历字典中的键 keys( ) 遍历字典中的值 value( ) 遍历字典中的值并且去重复 set( ) 列表中嵌套字典 通过 for 循环将字典添加到同一个列表中 在字典中存储列表并打印 什么是字典? 我自己来个不成熟的总结吧:就是一个高级列表,为啥说是高级列表,因为列表中的元素是单一的,没有属性

Python编程入门到实践 - 笔记( 3 章)

练习内容包括 创建并访问列表 列表的索引 使用列表中的各个值 修改列表中的元素 在列表中添加元素 append() 在列表中插入元素 insert() 在列表中删除元素 del,pop() 根据值删除列表中的元素 remove() 对列表中的元素进行排列 1)永久性修改 sort(),按字母表正向排列 2)永久性修改 sort(reverse=True),按字母表反向排列 3)临时修改 sorted(),按字母表正向排列 对列表中的元素进行反转打印 reverse() 计算列表长度 len()

Python编程入门与实践pdf电子版下载

Python编程入门与实践pdf电子版下载 分享链接:https://pan.baidu.com/s/1h7TfuuUcaju8nkrMZgv-hg 提取码:7lo8 本书针对想要学习Python却无从下手的同学们准备的,希望好的资源能够给老铁提供有用的帮助 书籍目录 第一部分 基础知识 第1章 起步 1.1 搭建编程环境 1.1.1 Python 2和Python 3 1.1.2 运行Python代码片段 1.1.3 Hello World程序 1.2 在不同操作系统中搭建Python编程环境

Python编程入门到实践(三)

1.异常 异常是使用try-except代码块处理的.try-except代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办. 使用了try-except代码块时,即便出现异常,程序也将继续运行:显示你编写的友好错误消息,而不是令用户迷惑的traceback.. print(5/0) Traceback (most recent call last): File "exception_division", line 1, in <module> pri

Python:从入门到实践--第三章--列表简介--练习

#1.将一些朋友的姓名存储在一个列表中,并将其命名为friends.依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. #2.继续使用1中的列表,为每人打印一条消息,每条消息包含相同的问候语,但抬头为相应朋友的名字 #3.创建一个自己喜欢的出行方式列表.根据该列表打印一系列有关这些出行方式的宣言. friends = ['马脑壳','小波','玮哥','二小姐','短命','田鸡'] print(friends[0] +'\n' + friends[1] + '\n' + friend