函数input()的工作原理:
 函数input()让程序短暂运行,等待用户输入一些文本,获取用户输入后将其存储在一个变量中

测试input()功能——

#!/usr/bin/env python
#filename:input().py

message=input("tell me something and, I will repeat back to you: ")
print(message)

效果:

[root@Python-Test Day3]# ./input.py
tell me something and, I will repeat back to you: hello
hello

在有些时候,input()也许不能满足需求,例如:

>>> age=input("How old are you?")
How old are you?26
>>> age >= 18
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() >= int()

#可以发现这里出错了。因为input()函数存放用户输入的结果为字符串,字符串是无法和数字去比较的,

如何满足这类需求?#

通过int()函数,把字符串中的数字转换为整数


>>> age=int(age)
>>> age>=18
True

while循环

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

故while循环必须要设置一个打破条件,不然会无线循环下去!

用while来数数

#!/usr/bin/env python

#filename = num.py

number = 0

while number < 1000000000000000:

    print(number)

    number+=1

在这个循环中,设定了一个变量 number = 0

循环条件是number ≤ 100000000000000000,故这个程序一定会导致一段时间的刷频。

让用户选择何时退出:

#!/usr/bin/env python

#filename parrot.py

prompt = "\nTell me something and, I will repeat back to you:\n"

prompt += "Enter 'quit' to end the program\n"

message = ""

while message != 'quit':

    message=input(prompt)

    print(message)

#这里我们定义了一条提示信息,告诉用户他有两个选择

1、输入什么返回什么

2、输入quit结束程序

效果:#

[root@Python-Test Day3]# ./parrot.py 

Tell me something and, I will repeat back to you:
Enter 'quit' to end the program
hello
hello

Tell me something and, I will repeat back to you:
Enter 'quit' to end the program
cat
cat

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

[root@Python-Test Day3]# 

这个脚本的不足之处在于每次退出的时候,‘quit’也被print了

解决办法只需要加入一个if语句就可以了

while message != 'quit':

    message=input(prompt)

    if message != 'quit':

        print(message)

#加入一个判断,只有当message不等于‘quit’的时候,才会进行print

测试效果:

[root@Python-Test Day3]# ./parrot.py

Tell me something and, I will repeat back to you:

Enter 'quit' to end the program

hello

hello

Tell me something and, I will repeat back to you:

Enter 'quit' to end the program

quit

[root@Python-Test Day3]#

使用标志:

在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态,这个变量称之为标志。

#标志#可以看做程序的信号灯,可以让设置信号灯为true的时候程序继续运行,一旦信号灯=false,则程序立即终止。

#!/usr/bin/env python

#filename active.py

prompt = "\nTell me something and, I will repeat back to you:\n"

prompt += "Enter 'quit' to end the program\n"

active = True

while active:

    message=input(prompt)

    if message == 'quit':

        active = False

    else:

        print(message)

测试:

编写一个脚本,让程序可以列出1-30中的奇数

#filename even.py

number = 0

while number <= 29:

    number += 1

    if number % 2 == 0:

        continue

    print(number)     

首先,把number 设置成0,由于它小于29就开始进入了循环,每次+1,然后进行mod2运算(取余数),如果余数=0,则继续加1(因为偶数的余数都是0)

如果余数≠0,则进行print

用户输入与while循环的更多相关文章

  1. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  2. python入门学习:6.用户输入和while循环

    python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...

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

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

  4. Python:从入门到实践--第七章--用户输入和while循环-练习

    #1.编写一个程序,询问用户要租赁什么样的汽车,并打印. car = input("What's kind of cars dou you want to rent?,sir:") ...

  5. 《Python编程从入门到实践》_第七章_用户输入和whlie循环

    函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量中,以方便你使用. #输入用户名 username = input( ...

  6. python的用户输入和while循环

    1.函数input()工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. (1)获取数值可以用 int()函数 (2)求 ...

  7. 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环

    7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...

  8. 第七章 用户输入和while 循环

    7.1 创建多行字符串的方式: 01 prompt="if you tell me who you are, we can personalize the message you see.& ...

  9. 用户输入和while 循环

    input 工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中. message = input("need to input ...

随机推荐

  1. HTML基础学习(一)—HTML

    一.HTML的介绍      HTML(HyperText Markup Language)超文本标记语言,不是一种编程语言,而是一种描述性的标记语言,用于描述超文本的内容的显示,比如字体颜色或者大小 ...

  2. $_GET

    POST GET ,是提交表单的两种方式,GET传值就用$_GET获取,POST提交表单就用$_POSTpost与get的区别是一个在地址栏显示参数,另一个不显示 如果地址是这样:http://zhi ...

  3. JavascriptS中的各结构的嵌套和函数

    各位朋友大家好,上周更新给大家分享了JavaScript的入门知识及各种常用结构的用法,那么,本次更新博主就跟大家更深入的聊一聊JS各结构的嵌套用法,及JS中及其常用的一种结构--函数.以下为函数和循 ...

  4. python黑魔法之metaclass

    最近了解了一下python的metaclass,在学习的过程中,把自己对metaclass的理解写出来和大家分享. 首先, metaclass 中文叫元类,这个元类怎么来理解呢.我们知道,在Pytho ...

  5. php数组--2017-04-16

    一.定义数组 (1)索引数组 $arr=array(1,2,3,3); (2)关联数组  类似于集合 $arr1=array("one"=>"111",& ...

  6. java多线程基本概述(三)——同步方法

    非线程安全其实是在多个线程对同一个对象实例的变量进行并发访问的时候发生,产生的后果就是脏读,也就是取到的数据是修改过的.而线程安全就是获得的实例变量的值是经过同步处理的,从而不会出现脏读现象. 1.1 ...

  7. iOS原生地图与高德地图的使用

    原生地图 1.什么是LBS LBS: 基于位置的服务 Location Based Service 实际应用:大众点评,陌陌,微信,美团等需要用到地图或定位的App 2.定位方式 1.GPS定位 2. ...

  8. 【转】JDBC学习笔记(9)——DBUtils的使用

    转自:http://www.cnblogs.com/ysw-go/ 使用DBUtils提供的功能需要使用commons-dbutils-1.6.jar这个JAR包,在Apache官网可以下载到 使用D ...

  9. 一个 Vue + Node + MongoDB 博客系统

    源码 耗时半载(半个月)的大项目终于完成了.这是一个博客系统,使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的 ...

  10. js中的事件委托详解

    概述: 那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件.那这是什么意思呢?网上的各位 ...