Python(输入、输出;简单运算符;流程控制),,一 输入输出pyth


一 输入输出

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 pythonname=input(‘请输入用户名:‘)print(name)

执行

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

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

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

#!/usr/bin/env pythonimport getpasspassword=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: abcTraceback (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 。

二 简单的运算符

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

1、算数运算:

技术分享

2、比较运算:

技术分享

3、赋值运算:

技术分享

4、位运算:

技术分享

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

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

5、逻辑运算:

技术分享

and注解:

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

or注解:

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

and-or结合使用:

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

6、成员运算:

技术分享

7.身份运算

技术分享

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

技术分享

技术分享

三 流程控制

3.1 条件语句

1 单分支

2 多分支

需求一、用户登陆验证

技术分享
#!/usr/bin/env pythonname=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)#         breaktag=Truewhile tag:    username=input(‘username: ‘)    password=input(‘password: ‘)    if username == ‘egon‘ and password == ‘123‘:        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()

Python(输入、输出;简单运算符;流程控制)

评论关闭