一 输入输出

python3中统一都是input,python2中有raw_input等同于python3的input,另外python2中也有input

1.res=input("python3: ")

2.res=raw_input("python2: ")

3.res=raw_input("python2: ")

1,2无论接收何种输入,都被存为字符串赋值给res,而3的意思是,用户输入何种类型,就以何种类型赋值给res

#!/usr/bin/env python

name=input('请输入用户名:')
print(name)

执行

C:\Users\Administrator>python D:\python_test\hello.py
请输入用户名:egon
egon

===============================================================================

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

#!/usr/bin/env python

import getpass
password=getpass.getpass('请输入密码:')
print(password)

执行(在pycharm中无法执行,需要到终端中执行)

C:\Users\Administrator>python D:\python_test\hello.py
请输入密码:
123456

Python2 的input,输入什么类型,就是什么类型(输入字符串应该加引号‘’,不加引号会识别成变量名,找不到就报错)

>>> raw_input_A = raw_input("raw_input: ")
raw_input: abc
>>> input_A = input("Input: ")
Input: abc Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
input_A = input("Input: ")
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> input_A = input("Input: ")
Input: "abc"
>>>
>>> raw_input_B = raw_input("raw_input: ")
raw_input: 123
>>> type(raw_input_B)
<type 'str'>
>>> input_B = input("input: ")
input: 123
>>> type(input_B)
<type 'int'>
>>>

例子 1 可以看到:这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

例子 2 可以看到:raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。

Python3 中的input相当于python2中的raw_input。

二 简单的运算符

算数运算;逻辑运算;比较运算;关系运算;

1、算数运算:

2、比较运算:

3、赋值运算:

4、位运算:

注: ~  举例: ~5 = -6  解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110

按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了

5、逻辑运算:

and注解:

  1. 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。
  2. 在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。
  3. 如果布尔上下文中的某个值为假,则 and 返回第一个假值

or注解:

  1. 使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值
  2. 如果所有的值都为假,or 返回最后一个假值
  3. 注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

and-or结合使用:

  1. 结合了前面的两种语法,推理即可。
  2. 为加强程序可读性,最好与括号连用,例如:
    (1 and 'x') or 'y'

6、成员运算:

7.身份运算

 

8.运算符优先级:自上而下,优先级从高到低

三 流程控制

3.1 条件语句

1 单分支

2 多分支

需求一、用户登陆验证

#!/usr/bin/env python

name=input('请输入用户名字:')
password=input('请输入密码:') if name == 'egon' and password == '123':
print('egon login success')
else:
print('用户名或密码错误')

需求二、根据用户输入内容输出其权限

#!/usr/bin/env python
#根据用户输入内容打印其权限 '''
egon --> 超级管理员
tom --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
'''
name=input('请输入用户名字:') if name == 'egon':
print('超级管理员')
elif name == 'tom':
print('普通管理员')
elif name == 'jack' or name == 'rain':
print('业务主管')
else:
print('普通用户')

3.2 循环语句

while 循环

1、基本循环

while 条件:

    # 循环体

    # 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行

2、break

break用于退出本层循环

while True:
print "123"
break
print "456"

3、continue

continue用于退出本次循环,继续下一次循环

while True:
print "123"
continue
print "456"

4、tag

#!/usr/bin/env python
#_*_coding:utf-8_*_ # while True:
# username=input('username: ')
# password=input('password: ')
# if username == 'egon' and password == '123':
# while True:
# cmd=input('>>: ')
# if cmd == 'q':
# break
# print('------>%s' %cmd)
# break
tag=True
while tag:
username=input('username: ')
password=input('password: ')
if username == 'egon' and password == '':
while tag:
cmd=input('>>: ')
if cmd == 'q':
tag=False
continue
print('------>%s' %cmd)

5、for循环

for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
# -*-coding:UTF-8-*-
#99乘法表
for i in range(1,10):
for n in range(1,i+1):
print("%s*%s=%s" %(n,i,i*n),end=' ') #print默认后面跟一个\n换行,end的意思是将最后默认的\n换成 end 指定的内容。
print()
------------------------------------------------------------ D:\Python36\python.exe D:/py/train.py
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 Process finished with exit code 0
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

Python(输入、输出;简单运算符;流程控制;转译)的更多相关文章

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

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

  2. python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法

    基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...

  3. 9.python的布尔类型与流程控制

    布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息: Help on class bool in module __builtin__: class bool(int) | ...

  4. python的布尔类型与流程控制

    布尔类型其实可以算是一种特殊的数字,下面是 help() 函数得到的帮助信息:  bool 首先,请注意这一行:

  5. Python 3 快速入门 2 —— 流程控制与函数

    本文假设你已经有一门面向对象编程语言基础,如Java等,且希望快速了解并使用Python语言.本文对重点语法和数据结构以及用法进行详细说明,同时对一些难以理解的点进行了图解,以便大家快速入门.一些较偏 ...

  6. Python学习(三)流程控制

    Python流程控制 本章介绍 python 的基础流程控制.包括 if 条件语句.for 循环 和 while 循环语句: continue 及 break 的用法等. 基本用法与 C 和 Java ...

  7. python基础(3)---流程控制

    流程控制 与C语言不通的是python的流程控制代码块不是用{}花括号表示的,而是强制缩进来控制的:而且缩进必须一致,官方推荐是使用4个空格,不建议使用tab(制表符)做缩进,一是不同的系统tab所占 ...

  8. Python基础(三)--流程控制之if、while、for,break与continue

    一.流程控制之if……else…… if语句是指编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一 if 条件1: 缩进的代码块 elif 条件2: 缩进的代码 ...

  9. day01 python起源 介绍 解释器 变量 流程控制if

    day01 python   一.python的起源     1.python简介     java 企业级应用, android, app     c 操作系统, 做开发语言的, 游戏的内核     ...

随机推荐

  1. linux web.py spawn-fcgi web.py 配置

    本来要用uwsgi,但是...介于以前说过...这台服务器略老...redhat 3的系统...确实很老,没法用yum,没法安装很多东西,打算自己编译uwsgi,但是编译各种错误...花了快一天,最后 ...

  2. website 合集

    1. oracle  http://asktom.oracle.com ( 英文 ) http://itpub.net ( 中文 ) https://www.oracle.com/communitie ...

  3. jsp时间格式化

    <fmt:formatDate value="${start.time }" pattern="HH:mm" />

  4. .net 编译原理

    这听起来像是个非常高大上的名字,上学的时候我们学过的编译原理或者编译技术实际上是在讲如何将高级程序语言如C++编译为计算机可以理解的汇编语言,这里说的编译原理只是想说明在.NET的世界里编译这件事儿和 ...

  5. 好久没写blog了 ~ 换了个城市,换了个公司,各种忙碌

    最近一直在忙工作交接以及换城市.入职的事情 ~~~ 新公司做C++的比较少,so全上C++11了,写代码各种爽. 最近应该会写一点关于QT的blog , 学到新知识了哈.

  6. AOSP5.0换8G eMMC不能开机问题

    AOSP5.0 MT6572平台.用H9TP32A4GDBCPR_KGM这颗4G的eMMC就能够.可是用H9TP65A8JDACPR_KGM这个8G的就开不了机,一直是重新启动.用串口抓LOG发现以下 ...

  7. SpringMVC JSONP JSON支持

    1.ajax端 $.ajax({ type: "post", dataType: "jsonp", //传递给请求处理程序,用以获得jsonp回调函数名的参数名 ...

  8. H5页面在微信中禁止下拉露出网页

    H5页面在微信中禁止默认事件的执行,js添加代码 $(function () { /************微信h5页面禁止下拉露出网页来**************/ $('body').on('t ...

  9. 下载苹果APP历史版本

    1.参考教程: iOS 下载旧版本 app 或者已下架 app 方法 - 简书 https://www.jianshu.com/p/33dc8bfd4134 2.步骤总结: 下载旧版带 app 管理的 ...

  10. 【IDEA】本地新建Maven项目+配置Git和GitHub+代码上传和拉取到GitHub+其他IDEA和GitHub实战

    一.本地新建Maven项目并启动成功 1. 按照IDEA提供的模板,构建一个maven webapp的模板项目. 一路Next,到最后的finish.如下图. 2. 新建Tomcat,启动刚建立的项目 ...