Python基础学习-用户输入和while循环

一:函数input()的工作原理:

函数input()让程序暂停运行,等待用户输入一些文本。

获取用户输入后,Python将其存储在一个变量中,以方便使用。

1:编写清晰的程序:

# 函数input()让程序暂停运行, 等待用户输入一些文本, 并在用户按回车键后继续运行
message = input("Tell me something, and I will repeat it back to you: ")
print(message)

# 通过在提示末尾(这里是冒号后面)包含一个空格, 可将提示和用户输入分开
name = input("Please enter your name: ")
print("Hello, " + name + " !")

# 提示可能超过一行, 在这种情况下,可将提示存储在一个变量中
prompt = "If you tell us who you are, we can personalize the message you see "
prompt += "\nWhat is you first name? "
name = input(prompt)
print("\nHello, " + name + " .")
输出:

 2:使用int()来获得数值输入
     使用函数input()时,Python将用户输入解读为字符串
 函数int()可将数字的字符串表示转换为数值表示
# 使用int()来获取数值输入
age = input("How old are you? ")
age = int(age)
print(age >= 18)
输出:


3:求模运算符:
求模运算符(%)是一个很好用的工具,它将两个数相处并返回余数。
# 求模运算符(%), 它将两个数相除并返回余数
print(4%3)
print(5%3)
print(6%3)
print(7%3)
输出:

4:在Python2.7中获取输入:
如果你使用的是Python2.7,请使用raw_input(),而不是input()来获取输入

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

1:使用while循环:# 使用while循环
current_number = 1
while current_number <= 5:
    print(current_number)
    current_number += 1
输出:12345

2:让用户选择何时退出:# 让用户选择何时退出
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.Hello everyoneHello everyone
Tell me something, and I will repeat it back to you: Enter 'quit' to end the program.quit
3:使用标志:在其中的任何一个事件导致活动标志变成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)

4:使用break退出循环:在任何Python循环中都可以使用break语句。# 使用break来退出循环
prompt = "\nPlease enter the name of a city you have visited"
prompt += "\n(Enter 'quit' to end the program.)"

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' to end the program.)chongqingI'd love to go to Chongqing .
Please enter the name of a city you have visited(Enter 'quit' to end the program.)quit
5:在循环中使用continue:跳过当前循环,执行下一循环。# 在循环中使用continue
current_number = 0
while current_number < 10:
    current_number += 1
    if current_number % 2 == 0:
        continue

    print(current_number)
输出:13579
6:避免无限循环:如果程序陷入无限循环,可按Ctri+C,
   也可关闭显示程序输出的终端窗口。
   
三:使用while循环来处理列表和字典:
    要在遍历列表的同时对其进行修改,可使用while循环。
通过将while循环同列表和字典结合起来使用,可收集、
存储并组织大量输入,供以后查看和显示。

1:在列表之间移动元素:# 在列表之间移动元素
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:CandaceVerifying user:BrianVerifying user:Alice
The following users have been confirmed:CandaceBrianAlice
2:删除包含特定值的所有列表元素:# 删除包含特定值的所有列表元素
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']
     
3:使用用户输入来填充字典:# 使用用户输入来填充字典
responses = {}

# 设置一个标志,指出调查是否继续
polling_active = True

while polling_active:
    # 提示输入被调查者的名字和回答
    name = input("\nWhat's your name? ")
    response = input("Which mountain would you like to climb someday? ")

    # 将答案存储在字典中
    responses[name] = response

    # 看看是否还有人要参加调查
    repeat = input("Would you like to let another person respond? (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's your name? youWhich mountain would you like to climb someday? DenaliWould you like to let another person respond? (yes/ no) no
----Poll Results---you would like to climb Denali .
最后,我很抱歉,没能够解决代码块在推文中如何完美显示这个重大问题。
我会努力找到解决办法的。


每天学习一点点,每天进步一点点。
-看完了请点个赞鼓励一下辛勤的小编嘛-

原文发布于微信公众号 - 小白客(youcoding)

原文发表时间:2017-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏偏前端工程师的驿站

JS魔法堂: Native Promise Only源码剖析

一, 前言                                深入学习Promise的朋友应该都看过<深入理解Promise五部曲>这一系列的文章,...

22590
来自专栏软件开发

C语言 第四章 关系、逻辑运算与分支流程控制

一、关系运算 若干表达式用关系运算符连接而成,就构成关系表达式。 关系表达式中,表达式成立,其值为1(真);表达式不成立,其值为0(假)。 其他表达式中,其结...

217100
来自专栏WindCoder

JVM-Java内存区域

JVM在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,都有着各自的用途以及创建和销毁时间。包括以下几个如图所示的运行时数据区域:

28210
来自专栏月色的自留地

Python2中文处理纪要

20850
来自专栏Android 研究

Java虚拟机基础——3类加载机制

在这个框架图很容易大体上了解Java程序工作原理。首先当程序员写好.java文件后,需要先运行(假设该文件为demo.java)

13340
来自专栏Python中文社区

Python3.6新特性官方文档中文版

原文:What’s New In Python 3.6 翻译团队:Py字幕组 首发刊物:PyCN技术评论(点击菜单栏:社区-刊物进入) Github:htt...

63690
来自专栏思考的代码世界

Python编程从入门到实践之继承|第11天

编写类时,并非总是要从空白开始。如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父...

34040
来自专栏编程

大神用Python编写虚拟机解释器

群内不定时分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴入群学习交流 ? 环境介绍 环境采用带桌面的Ubuntu L...

22880
来自专栏IT技术精选文摘

易犯的Java内存泄漏代码

Java隐式地通过GC(守护线程)回收内存。 GC定期检查是否存在无法访问的对象,或者确切地说,没有指向该对象的引用。如果是这样,GC回收新可用的内存。 现在...

23870
来自专栏游戏开发那些事

【游戏开发】小白学Lua(上)

  在很多游戏中,脚本语言是不可或缺的一部分,很多游戏都使用到了Lua,js,python一类的脚本,脚本语言可以在很多方面给开发进程带来帮助。脚本语言可以作为...

17120

扫码关注云+社区

领取腾讯云代金券