zoukankan      html  css  js  c++  java
  • python基础-人机交互和运算符

    # 1、接收用户的输入
    # 在Python3:input会将用户输入的所有内容都存成字符串类型
    # username = input("请输入您的账号:")  # "egon"
    # print(username, type(username))
    
    # age = input("请输入的你的年龄: ")  # age="18"
    # print(age, type(age))
    # age=int(age) # int只能将纯数字的字符串转成整型
    # print(age > 16)
    
    # int("12345")
    # int("1234.5")
    # int("1234abc5")

    >>> print('hello world')  # 只输出一个值
    hello world
    >>> print('first','second','third')  # 一次性输出多个值,值用逗号隔开
    first second third
    
    # 默认print功能有一个end参数,该参数的默认值为"
    "(代表换行),可以将end参数的值改成任意其它字符
    print("aaaa",end='')
    print("bbbb",end='&')
    print("cccc",end='@')
    #整体输出结果为:aaaabbbb&cccc@
    # 在python2中:
    # raw_input():用法与python3的input一模一样
    # input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型
    # >>> age=input(">>>>>>>>>>>>>>>>>>>>>: ")
    # >>>>>>>>>>>>>>>>>>>>>: 18
    # >>> age,type(age)
    # (18, <type 'int'>)
    # >>>
    # >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
    # >>>>>>>>>>>>>>>>>>>>>: 1.3
    # >>> x,type(x)
    # (1.3, <type 'float'>)
    # >>>
    # >>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
    # >>>>>>>>>>>>>>>>>>>>>: [1,2,3]
    # >>> x,type(x)
    # ([1, 2, 3], <type 'list'>)
    # >>>
    
    
    # 2。字符串的格式化输出
    # 2.1 %
    # 值按照位置与%s一一对应,少一个不行,多一个也不行
    # res="my name is %s my age is %s" %('egon',"18")
    # res="my name is %s my age is %s" %("18",'egon')
    # res="my name is %s" %"egon"
    # print(res)
    
    # 以字典的形式传值,打破位置的限制
    # res="我的名字是 %(name)s 我的年龄是 %(age)s" %{"age":"18","name":'egon'}
    # print(res)
    
    # %s可以接收任意类型
    # print('my age is %s' %18)
    # print('my age is %s' %[1,23])
    # print('my age is %s' %{'a':333})
    # print('my age is %d' %18) # %d只能接收int
    # print('my age is %d' %"18")
    # 1、格式的字符串(即%s)与被格式化的字符串(即传入的值)必须按照位置一一对应
    # ps:当需格式化的字符串过多时,位置极容易搞混
    print('%s asked %s to do something' % ('egon', 'lili'))  # egon asked lili to do something
    print('%s asked %s to do something' % ('lili', 'egon'))  # lili asked egon to do something
    
    # 2、可以通过字典方式格式化,打破了位置带来的限制与困扰
    print('我的名字是 %(name)s, 我的年龄是 %(age)s.' % {'name': 'egon', 'age': 18})
    
    kwargs={'name': 'egon', 'age': 18}
    print('我的名字是 %(name)s, 我的年龄是 %(age)s.' % kwargs)
    # 2.2 str.format:兼容性好
    # 按照位置传值
    # res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
    # print(res)
    
    # res='我的名字是 {0}{0}{0} 我的年龄是 {1}{1}'.format('egon',18)
    # print(res)
    
    # 打破位置的限制,按照key=value传值
    # res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name='egon')
    # print(res)
    
    # 了解知识
    """
    2.4 填充与格式化
    # 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
    # *<10:左对齐,总共10个字符,不够的用*号填充
    print('{0:*<10}'.format('开始执行')) # 开始执行******
    
    # *>10:右对齐,总共10个字符,不够的用*号填充
    print('{0:*>10}'.format('开始执行')) # ******开始执行
    
    # *^10:居中显示,总共10个字符,不够的用*号填充
    print('{0:*^10}'.format('开始执行')) # ***开始执行***
    2.5 精度与进制
    
    print('{salary:.3f}'.format(salary=1232132.12351))  #精确到小数点后3位,四舍五入,结果为:1232132.124
    print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
    print('{0:o}'.format(9))  # 转成八进制,结果为:11
    print('{0:x}'.format(15))  # 转成十六进制,结果为:f
    print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931
    
    """
    
    # 2.3 f:python3.5以后才推出
    x = input('your name: ')
    y = input('your age: ')
    res = f'我的名字是{x} 我的年龄是{y}'
    print(res)
    # 了解f的新用法:{}内的字符串可以被当做表达式运行
    # res=f'{10+3}'
    # print(res)
    # 1、算数运算符
    # print(10 + 3.1)
    # print(10 + 3)
    # print(10 / 3)  # 结果带小数
    # print(10 // 3)  # 只保留整数部分
    # print(10 % 3) # 取模、取余数
    # print(10 ** 3) # 取模、取余数
    
    # 2、比较运算符: >、>=、<、<=、==、!=
    # print(10 > 3)
    # print(10 == 10)
    #
    # print(10 >= 10)
    # print(10 >= 3)
    
    # name=input('your name: ')
    # print(name == 'egon')
    
    
    # 3、赋值运算符
    # 3.1 =:变量的赋值
    # 3.2 增量赋值:
    # age = 18
    # # age += 1  # age=age + 1
    # # print(age)
    #
    # age*=3
    # age/=3
    # age%=3
    # age**=3 # age=age**3
    
    # 3.3 链式赋值
    # x=10
    # y=x
    # z=y
    # z = y = x = 10 # 链式赋值
    # print(x, y, z)
    # print(id(x), id(y), id(z))
    
    # 3.4 交叉赋值
    m=10
    n=20
    # print(m,n)
    # 交换值
    # temp=m
    # m=n
    # n=temp
    # print(m,n)
    
    # m,n=n,m # 交叉赋值
    # print(m,n)
    
    # 3.5 解压赋值
    salaries=[111,222,333,444,555]
    # 把五个月的工资取出来分别赋值给不同的变量名
    # mon0=salaries[0]
    # mon1=salaries[1]
    # mon2=salaries[2]
    # mon3=salaries[3]
    # mon4=salaries[4]
    
    # 解压赋值
    # mon0,mon1,mon2,mon3,mon4=salaries
    # print(mon0)
    # print(mon1)
    # print(mon2)
    # print(mon3)
    # print(mon4)
    
    # mon0,mon1,mon2,mon3=salaries # 对应的变量名少一个不行
    # mon0,mon1,mon2,mon3,mon4,mon5=salaries # 对应的变量名多一个也不行
    
    # 引入*,可以帮助我们取两头的值,无法取中间的值
    # 取前三个值
    # x,y,z,*_=salaries=[111,222,333,444,555] # *会将没有对应关系的值存成列表然后赋值给紧跟其后的那个变量名,此处为_
    # print(x,y,z)
    # print(_)
    
    # 取后三个值
    # *_,x,y,z=salaries=[111,222,333,444,555]
    # print(x,y,z)
    
    # x,*_,y,z=salaries=[111,222,333,444,555]
    # print(x,y,z)
    
    # salaries=[111,222,333,444,555]
    # _,*middle,_=salaries
    # print(middle)
    
    # 解压字典默认解压出来的是字典的key
    x,y,z=dic={'a':1,'b':2,'c':3}
    print(x,y,z)
    # 1、可变不可变类型
    
    # 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
    # 不可变类型:值改变,id也变了,证明是产生新的值,压根没有改变原值,证明原值是不可以被修改的
    
    # 2、验证
    # 2.1 int是不可变类型
    # x=10
    # print(id(x))
    # x=11 # 产生新值
    # print(id(x))
    
    # 2.2 float是不可变类型
    # x=3.1
    # print(id(x))
    # x=3.2
    # print(id(x))
    
    # 2.3 str是不可变类型
    # x="abc"
    # print(id(x))
    # x='gggg'
    # print(id(x))
    
    # 小结:int、float、str都被设计成了不可分割的整体,不能够被改变
    
    
    # 2.4 list是可变类型
    # l=['aaa','bbb','ccc']
    # print(id(l))
    # l[0]='AAA'
    # print(l)
    # print(id(l))
    
    # 2.5 dict
    # dic={'k1':111,'k2':222}
    # print(id(dic))
    # dic['k1']=3333333333
    # # print(dic)
    # print(id(dic))
    
    
    #2.6 bool不可变
    
    
    # 关于字典补充:
    # 定义:{}内用逗号分隔开多key:value,
    #           其中value可以是任意类型
    #           但是key必须是不可变类型
    
    # dic={
    #     'k1':111,
    #     'k2':3.1,
    #     'k3':[333,],
    #     'k4':{'name':'egon'}
    # }
    #
    # dic={
    #     2222:111,
    #     3.3:3.1,
    #     'k3':[333,],
    #     'k4':{'name':'egon'}
    # }
    # print(dic[3.3])
    
    # dic={[1,2,3]:33333333}
    # dic={{'a':1}:33333333}
    条件定义
    # 2、什么是条件?什么可以当做条件?为何要要用条件?
    # 第一大类:显式布尔值
    # 2.1 条件可以是:比较运算符
    # age = 18
    # print(age > 16)  # 条件判断之后会得到一个布尔值
    
    # 2.1 条件可以是:True、False
    # is_beautiful=True
    # print(is_beautiful)
    
    
    # 第二大类:隐式布尔值,所有的值都可以当成条件去用
    # 其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为真

     1 # 一:not、and、or的基本使用
     2 # not:就是把紧跟其后的那个条件结果取反
     3 # ps:not与紧跟其后的那个条件是一个不可分割的整体
     4 # print(not 16 > 13)
     5 # print(not True)
     6 # print(not False)
     7 # print(not 10)
     8 # print(not 0)
     9 # print(not None)
    10 # print(not '')
    11 
    12 # and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真
    13 # print(True and 10 > 3)
    14 
    15 # print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
    16 # print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3)  # 偷懒原则
    17 
    18 # or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,
    19 #            两个条件都为False的情况下,最终结果才为False
    20 # print(3 > 2 or 0)
    21 # print(3 > 4 or False or 3 != 2 or 3 > 2 or True) # 偷懒原则
    22 
    23 # 二:优先级not>and>or
    24 # ps:
    25 # 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
    26 # 如果是混用,则需要考虑优先级了
    27 
    28 # res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3
    29 # print(res)
    30 #
    31 # #       False                 False              False
    32 # res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3
    33 # print(res)
    34 
    35 
    36 
    37 res=3>4 and ((not 4>3) or 1==3) and ('x' == 'x' or 3 >3)
    38 print(res)
    not and or
     1 # 1、成员运算符
     2 # print("egon" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
     3 # print("e" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
     4 
     5 # print(111 in [111,222,33]) # 判断元素是否存在于列表
     6 
     7 # 判断key是否存在于字典
     8 # print(111 in {"k1":111,'k2':222})
     9 # print("k1" in {"k1":111,'k2':222})
    10 
    11 # not in
    12 # print("egon" not in "hello egon") # 推荐使用
    13 # print(not "egon" in "hello egon") # 逻辑同上,但语义不明确,不推荐
    14 
    15 # 2、身份运算符
    16 # is # 判断的是id是否相等
    成员运算符
      1 # print(1)
      2 # print(2)
      3 # print(3)
      4 # if 条件:
      5 #     代码1
      6 #     代码2
      7 #     代码3
      8 # print(4)
      9 # print(5)
     10 '''
     11 语法1:
     12 if 条件:
     13     代码1
     14     代码2
     15     代码3
     16 
     17 '''
     18 # age = 60
     19 # is_beautiful = True
     20 # star = '水平座'
     21 #
     22 # if age > 16 and age < 20 and is_beautiful and star == '水平座':
     23 #     print('我喜欢,我们在一起吧。。。')
     24 #
     25 # print('其他代码.............')
     26 
     27 
     28 '''
     29 语法2:
     30 if 条件:
     31     代码1
     32     代码2
     33     代码3
     34 else:
     35     代码1
     36     代码2
     37     代码3
     38 '''
     39 
     40 # age = 60
     41 # is_beautiful = True
     42 # star = '水平座'
     43 #
     44 # if age > 16 and age < 20 and is_beautiful and star == '水平座':
     45 #     print('我喜欢,我们在一起吧。。。')
     46 # else:
     47 #     print('阿姨好,我逗你玩呢,深藏功与名')
     48 #
     49 # print('其他代码.............')
     50 
     51 
     52 '''
     53 语法3:
     54 if 条件1:
     55     代码1
     56     代码2
     57     代码3
     58 elif 条件2:
     59     代码1
     60     代码2
     61     代码3
     62 elif 条件2:
     63     代码1
     64     代码2
     65     代码3
     66 '''
     67 # score=73
     68 # if score >= 90:
     69 #     print('优秀')
     70 # elif score >= 80 and score < 90:
     71 #     print('良好')
     72 # elif score >= 70 and score < 80:
     73 #     print('普通')
     74 
     75 # 改进
     76 # score = input('请输入您的成绩:') # score="18"
     77 # score=int(score)
     78 #
     79 # if score >= 90:
     80 #     print('优秀')
     81 # elif score >= 80:
     82 #     print('良好')
     83 # elif score >= 70:
     84 #     print('普通')
     85 
     86 
     87 '''
     88 语法3:
     89 if 条件1:
     90     代码1
     91     代码2
     92     代码3
     93 elif 条件2:
     94     代码1
     95     代码2
     96     代码3
     97 elif 条件2:
     98     代码1
     99     代码2
    100     代码3
    101 ...
    102 else:
    103     代码1
    104     代码2
    105     代码3
    106 '''
    107 # score = input('请输入您的成绩:') # score="18"
    108 # score=int(score)
    109 #
    110 # if score >= 90:
    111 #     print('优秀')
    112 # elif score >= 80:
    113 #     print('良好')
    114 # elif score >= 70:
    115 #     print('普通')
    116 # else:
    117 #     print('很差,小垃圾')
    118 #
    119 # print('=====>')
    120 
    121 
    122 '''
    123 if嵌套if
    124 '''
    125 age = 17
    126 is_beautiful = True
    127 star = '水平座'
    128 
    129 if 16 < age < 20 and is_beautiful and star == '水平座':
    130     print('开始表白。。。。。')
    131     is_successful = True
    132     if is_successful:
    133         print('两个从此过上没羞没臊的生活。。。')
    134 else:
    135     print('阿姨好,我逗你玩呢,深藏功与名')
    136 
    137 print('其他代码.............')
    if 条件
    每天学习新的知识,会让自己更加充实
  • 相关阅读:
    Buuctfweb[ACTF2020 新生赛]Include
    Buuctfweb[极客大挑战 2019]Knife
    Buuctfweb[极客大挑战 2019]Secret File
    Buuctfmiscningen
    Buuctfweb[GYCTF2020]Blacklist
    Buuctfmisczip伪加密
    Buuctfweb[GXYCTF2019]Ping Ping Ping
    Buuctfmisc镜子里面的世界
    Buuctfweb[ACTF2020 新生赛]Exec
    转换...
  • 原文地址:https://www.cnblogs.com/fengpiaoluoye/p/14045464.html
Copyright © 2011-2022 走看看