用户输入与while循环
函数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循环的更多相关文章
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- python入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- python从入门到实践-7章用户输入和while循环
#!/user/bin/env python# -*- coding:utf-8 -*- # input() 可以让程序暂停工作# int(input('please input something: ...
- Python:从入门到实践--第七章--用户输入和while循环-练习
#1.编写一个程序,询问用户要租赁什么样的汽车,并打印. car = input("What's kind of cars dou you want to rent?,sir:") ...
- 《Python编程从入门到实践》_第七章_用户输入和whlie循环
函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量中,以方便你使用. #输入用户名 username = input( ...
- python的用户输入和while循环
1.函数input()工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. (1)获取数值可以用 int()函数 (2)求 ...
- 读书笔记「Python编程:从入门到实践」_7.用户输入和while循环
7.1 函数input()的工作原理 函数input() 让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便你使用. message = input(&qu ...
- 第七章 用户输入和while 循环
7.1 创建多行字符串的方式: 01 prompt="if you tell me who you are, we can personalize the message you see.& ...
- 用户输入和while 循环
input 工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中. message = input("need to input ...
随机推荐
- 在jsp中用一数组存储了数据库表中某一字段的值,然后在页面中输出其中的值。
List<String> list = new ArrayList<String>(); String sql = "select userName from us ...
- MySQL之数据类型(常用)
MySQL-data_type数据类型 1.查看数据类型 mysql> help data type //通过help对数据进行查看,以及使用的方法 2.MySQL常见的数据类型 整数in ...
- 基于51单片机IIC通信的AT24C02学习笔记
引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter ...
- js中元素(图片)切换和隐藏显示问题
这个知识点其实也简单,(当然是在理清思路的情况下),在没预习的情况下听的还真是艰难,上课以来唯一的一次懵逼了一天,感觉乱乱的,全是新属性,所以今晚的我破天荒的熬夜敲代码,一定要弄懂! 现在就来梳理下头 ...
- Linux--struct file结构体
struct file(file结构体): struct file结构体定义在include/linux/fs.h中定义.文件结构体代表一个打开的文件,系统中的每个打开的文件在内核空间都有一个关联的 ...
- STM32F0的flash读写
flash大小64k Rom+8k Ram的大小,stm32f051有64k Rom,总的分为 64页,一页1024byte ,在flash的Rom里面写数据掉电保存,相当于W25q80 uint32 ...
- c# 基础算法(一) 九九乘法
闲来无事,偶见某贴子里面讨论面试题.突然对一题产生了兴趣,做一道99乘法打印(主要是我工作了2家单位,还没有一家单位在面试时给我出这一道题)于是试着自己写写看.大概逻辑如下 class program ...
- [Mobile Web]Web中如何分辨移动设备?(iPad、iPhone、Android)
第一种, Javascript [javascript] view plaincopyprint?在CODE上查看代码片派生到我的代码片 var deviceAgent = navigator.use ...
- 【WPF】学习笔记(一)——做一个简单的电子签名板
参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下.(●'◡'●) 这次呢就讲讲一个简单的电子签名板的实现. 先上张图(PS:字写得比较丑,不要太在意哈 ...
- [ext4]04 磁盘布局 - Meta Block Groups
Meta Block Groups,可以翻译为元块组集. 如果不采用Meta Block Groups特性,在每个冗余备份的超级块的后面是一个完整的(包含所有块组描述符的)块组描述符表的备份.如前所述 ...