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用户交互与流程控制的更多相关文章

  1. Python基础之用户交互、流程控制、循环语句

    python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java.c做对比,这样更好的理解记忆! 用户交互(输入) i ...

  2. python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支

    python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...

  3. python语法入门之流程控制

    python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...

  4. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  5. Python分支结构与流程控制

    Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...

  6. Day01_变量,数据类型_程序交互_流程控制

    python执行的两种方式: 1,交互的方式:  优点:可以及时调试程序,调试方法  缺点: 无法永久保存代码 2,保存在文件中执行  优点:可以永久保存代码,在执行的时候调用  缺点:不能即时调试代 ...

  7. 【Python】Java程序员学习Python(六)— 流程控制、异常处理

    和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...

  8. day 01 常量 注释 int(整型) 用户交互input 流程控制语句if

    python的编程语言分类(重点) if 3 > 2: 编译型: 将代码一次性全部编译成二进制,然后再执行. 优点:执行效率高. 缺点:开发效率低,不能跨平台. 代表语言:C 解释型: 逐行解释 ...

  9. Python 入门基础3 --流程控制

    今日目录: 一.流程控制 1. if 2. while 3. for 4. 后期补充内容 一.流程控制--if 1.if判断: # if判断 age = 21 weight = 50 if age & ...

随机推荐

  1. P2264 情书

    传送门 正常会想到字典树 然鹅数据怎么小直接map也能过 然后就写map暴力匹配了 毫无思维难度,毫无代码难度 注意逗号算单词分隔符,如果有句号就算另一句 同一句的单词重复出现只计算一次贡献 再开个m ...

  2. Gym - 101572D Distinctive Character bfs 思维

    题目传送门 题目大意: 给出n个01串,让你构造一个字符串,使这个字符串和这些字符串中相似程度最高 尽可能低.如果两个字符串对应位置相同,则相似程度加一. 思路: 每一个01串更改自己的一部分后,都可 ...

  3. 关于form组件的补充-------formChoice

    form组件的Choice字段 还是基于出版社和书的模型来详解 models.py(模型) from django.db import models # Create your models here ...

  4. day_05 字典

    1. 字典 1.成对保存数据 ,以key:value形式保存 2.以{}表示,每项内容都是key:value,元素之间用逗号隔开 3.key是不可重复的 4.字典以hash算法来计算key的hash值 ...

  5. 4.会话管理(Session)

    1.会话管理的概念和基本原理: 会话管理概念: 会话的实现过程: 2.使用Cookie.隐藏域.URL重写实现会话管理 创建并向客户端发送Cookie; 从客户端读取Cookies Cookie的方法 ...

  6. 2----scrapy框架之代理and日志级和请求传参

    一.代理 爬虫文件 daili.py class DailiSpider(scrapy.Spider): name = 'daili' #allowed_domains = ['www.xxx.com ...

  7. flume failed to start agent because dependencies were not found in classpath

    FLUME_CLASSPATH=/root/flume/lib/ copied comon jar files from hadoop folder to the flume folder. cp / ...

  8. 转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键

    https://blog.csdn.net/guider2334/rss/list Ctrl + Q 现实document视图,查看选择元素的详细信息        (重要) Ctrl + Alt + ...

  9. JqGrid查询数据为空时给表格添加提示信息

    在JqGrid的loadComplete事件中添加下面的代码就可以实现上图的效果 loadComplete: function () { var rowNum = $("#purchaser ...

  10. OpenStack Weekly Rank 2015.07.27

    Module Reviews Drafted Blueprints Completed Blueprints Filed Bugs Resolved Bugs Cinder 7 1 1 7 10 Sw ...