Python用户交互与流程控制
1. 用户交互
python3通过input实现用户交互,与python2的raw_input一样,接收的值都转换成字符串格式。python2中也有一个input,而python2中的input接收的值不转换,保留原始数据类型,即输入什么就是什么,python3种已经去除。
x = input("请输入:")
print(type(x))
#转换成整数
x = int(input("请输入:"))
print(type(x))
#判断输入字符为数字的方法
num = input("请输入号码:")
if num.isdigit():
num = int(num)
print("num:",num,type(num))
else:
print("输入错误!")
2. 条件判断语句
条件语句是指根据条件表达式的不同计算结构,使流程流转至不同的代码块。
if(条件):
...
else:
...
或
if 条件: #括号可以省略
...
else:
...
或
if 条件:
...
elif 条件:
...
else:
...
score = float(input("input your score:"))
if 90<= score <=100:
print('A')
elif 80 <= score <90:
print("B")
elif 60 <= score <80:
print('C')
elif 0 <=score <60:
print('D')
else:
print("Error")
3. switch语句的替代方案
switch语句多用于编写多分支结构的程序,比if...elif...else...语句更清晰,代码可读性更高。但是python没有提供switch语句,可以通过字典实现switch语句的功能。
from __future__ import division x = 5
y = 2
operator = '*'
res = {
"+":x+y,
"-":x-y,
"*":x*y,
"/":x/y
}
print(res.get(operator))
另一种使用switch分支语句的方案是创建一个switch类,处理程序的流转。
class switch(object):
def __init__(self,value):
self.value = value
self.fall = False
#如果匹配到的case语句中没有break,则fall为True def __iter__(self):
yield self.match #调用match方法返回一个生成器
raise StopIteration #StopIteration异常来判断for循环是否结束 def match(self,*args):
if self.fall or not args:
return True
elif self.value in args:
self.fall = True
return True
else:
return False operator = "*"
x = 5
y = 2 for case in switch(operator): #switch只能用于for in循环中
if case('+'):
print(x+y)
break;
if case('-'):
print(x-y)
break;
if case('*'):
print(x*y)
break;
if case('/'):
print(x/y)
break;
if case(): #默认分支
print('---')
switch语句造成代码不易维护,使源文件臃肿。面向对象的设计中常常对switch语句进行重构,把switch语句分解成若干类。对于简单的switch分支流程可以使用字典来实现。使用字典更容易管理switch,而switch类回到了C、Java的老路上,而且写法更复杂,不值得推荐。
4. 循环语句
循环语句是指重复执行同一段代码,通常用于遍历集合或者累加计算。
- while循环
while(表达式): #()可以省略
...
else:
...
当表达式为真时,依次执行while中的语句,知道循环表达式值为False。程序的流程转到else语句,其中else子句可以省略,表达式两边的括号也可以省略。
n = 0;
while n<=10:
print(n)
n+=1
else:
print("输出完毕!")
- for循环
for循环用于遍历一个集合,一次访问集合中的每个项目。
for 变量 in 集合:
...
else:
...
每次循环从集合中取出一个值赋给变量。集合可以是元组、列表、字典等数据结构。最后一次循环结构执行else子句,else子句可以省略。
for...in...循环通常与range()函数一起使用,range()返回一个列表。
range()函数使用:
for i in range(10): #默认从0开始每次加1直到这个10为止(不包含10)。
print(i) for i in range(2,10,2): #默认从2开始,每次加2,直到10为止(不包含10)。
print(i) '''
range语法:
range(stop) -> range object
range(start, stop[, step]) -> range object
'''
5. break和continue语句
break:跳出整个循环
continue:跳出本次循环,继续下次循环
#输出小于5的数
for i in range(10):
if i ==5:
break
print(i) #0 1 2 3 4 #输出偶数
for j in range(10):
if j%2 !=0:
continue
print(j) #0 2 4 6 8
Python用户交互与流程控制的更多相关文章
- Python基础之用户交互、流程控制、循环语句
python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java.c做对比,这样更好的理解记忆! 用户交互(输入) i ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- Day01_变量,数据类型_程序交互_流程控制
python执行的两种方式: 1,交互的方式: 优点:可以及时调试程序,调试方法 缺点: 无法永久保存代码 2,保存在文件中执行 优点:可以永久保存代码,在执行的时候调用 缺点:不能即时调试代 ...
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...
- day 01 常量 注释 int(整型) 用户交互input 流程控制语句if
python的编程语言分类(重点) if 3 > 2: 编译型: 将代码一次性全部编译成二进制,然后再执行. 优点:执行效率高. 缺点:开发效率低,不能跨平台. 代表语言:C 解释型: 逐行解释 ...
- Python 入门基础3 --流程控制
今日目录: 一.流程控制 1. if 2. while 3. for 4. 后期补充内容 一.流程控制--if 1.if判断: # if判断 age = 21 weight = 50 if age & ...
随机推荐
- Python字符串拼接、格式化输出、深浅复制
1.Python字符串拼接:方法挺多.挺好用的.灵活使用可使代码简洁.可读性好. #1.用4种方法,将列表li = ['I','python','like'], #里面的单词拼成: I**like** ...
- git学习中遇到的疑难杂症
GIT仓库如何恢复到前一次提交 一.通过使用Git版本恢复命令reset,可以回退版本 reset命令有3种方式: 1.git reset –mixed:此为默认方式,不带任何参数的git r ...
- hdu 1556 涂气球 线段树(区间更新~对区间[x,y]更新,求任意节点被更新的次数)
Color the ball Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Python 基础学习之字典
1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...
- Kendo UI 简单使用
1 准备工作 引入JS文件和CSS文件 <link href="js/kendoui/styles/kendo.common.min.css" rel="style ...
- man bash 关于shell的应有尽有 语法、快捷键...
文件加载顺序 for if case ... 语法 往前移动一个单词 alt f https://github.com/hokein/Wiki/wiki/Bash-Shell%E5%B8%B8%E7% ...
- linux开机启动服务学习chkconfig命令
选项: --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据: --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系 ...
- 使用cucumber & selenium实现一个简单的bddtest
1.Cucumber介绍 + feature : read requirement +scenario : testing situation,including + Given/ + when/ + ...
- java源文件组成部分
class HelloWorld{ public static void main(String[ ] args) { System.out.print("HelloWorld!!!&quo ...
- webview的进度条的加载,webview的使用以及handle的理解与使用
Webview的几个关键方法要介绍一些: 谷歌官方文档是这么说的; A WebView has several customization points where you can add your ...