Python-运算符和流程控制



随手笔记,本篇介绍了python中的各种运算符以及2种流程控制语句。

Python中的运算符

算术运算符

运算符 描述
+
-
*
/ 除-Py2中9/2输出4,Py3中9/2输出4.5
% 取余(或者叫取模),返回除法的余数
** 幂-x**y,x的y次幂
// 取整(地板除)-返回商的整数部分,
注意负数的取整,向左取整

比较(关系)运算符,运算结果为布尔值

运算符 描述
== 等于-比较对象是否相等
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

赋值运算符

运算符 描述
= 赋值
+= a+=b 等效于 a=a+b
-= a-=b 等效于 a=a-b
*= a=b 等效于 a=ab
/= a/=b 等效于 a=a/b
%= a%=b 等效于 a=a%b
**= a**=b 等效于 a=a**b
//= a//=b 等效于 a=a//b

逻辑运算符

运算符 描述
and 逻辑与(同真为真,输出后值,有假即假,输出第一个假值)
or 逻辑或(同假为假,输出前值,有真即真,输出第一个真值)
not 逻辑非,取反

位运算符

运算符 描述
& 按位与

说明:参与预算的两个值,转换为二进制,如果两个相应位都为1,则该位结果为1,否则为0

栗子:计算 60 & 13

十进制 二进制 十进制结果
60 111100
13 001101
001100 12
运算符 描述
| 按位或

说明:转换为二进制,只要对应的两个位有一个1,则该位结果为1,否则为0

栗子:计算 60 | 13

十进制 二进制 十进制结果
60 111100
13 001101
111101 61
运算符 描述
^ 按位异或:位相异结果为1
~ 按位取反
<< 按位左移
>> 按位右移

成员运算符

运算符 描述
in 如果在in后面的对象中找的到in前面的对象返回True,否则返回False
not in 找不到该成员返回True,否则返回False

身份运算符

运算符 描述
is is是判断两个标识符是不是引用自同一个对象(理解:是否标记在同一块内存地址
is not 和is相反
python内存管理机制,对于创建变量的时候,是否重新malloc内存的临界点为 -5~256 看下面的栗子:
    >>> a=256
    >>> b=256
    >>> a is b
    True
    >>> a=257
    >>> b=257
    >>> a is b
    False
    >>> a=-5
    >>> b=-5
    >>> a is b
    True
    >>> a = -6
    >>> b= -6
    >>> a is b
    False

流程控制

理解

if判断语句:什么条件下干什么事

for,while循环语句:在什么条件下,一直做某事

if流程语句

语法:
    if 条件语句:
        执行代码1
    else:
        执行代码2

条件语句:必须是一个可以用bool值判断的

流程图:

用户登录实例:
    #coding=utf-8
    username = 'admin' #设置默认用户名
    password = '123' #设置默认密码
    user_input = raw_input('Please input your name:') #提示用户输入用户名
    passwd_input = raw_input('Please input your password:') #提示用户输入密码
    if user_input == username and passwd_input ==password: #验证用户名和密码是否和默认值相同
        print 'welcome %s login.'%user_input
    else:
        print 'your name or password is wrong!'
改进:

现在需要实现访客输入‘guest’后不需要输入密码,直接就可以登录进去;正常输入用户名的情况下还需要输入密码才能输入

    #coding=utf-8
    username = 'admin' #设置默认用户名
    password = '123' #设置默认密码
    guest_name = 'guest'
    user_input = raw_input('Please input your name:') #提示用户输入用户名
    if user_input == guest_name:
          print 'welcome %s login.'%guest_name
    elif user_input == username:
          passwd_input = raw_input('Please input your password:') #提示用户输入密码
          if passwd_input ==password: #验证用户名和密码是否和默认值相同
                print 'welcome %s login.'%user_input
    else:
          print 'your name or password is wrong!'

运行结果:

while循环

语法:
    while 判断条件:
        循环语句
实例1:计算1到100的和
    #coding=utf-8
    i = 1
    sum = 0
    while i<=100:
        sum += i
        i+=1
    print sum
实例2:打印九九乘法表(while实现)
    #coding=utf-8
    i = 1
    j = 1
    while i < 10:
          while j <= i:
                if( j == i):
                      print i,'x',j,'=',i*j
                else:
                      print i,'x',j,'=',i*j,' ',
                j += 1
          i += 1
          j = 1

运行结果:

Discuss

Scroll to top