精华内容
参与话题
问答
  • pyton阶乘

    2017-09-09 16:05:24
    pyton阶乘
    improt numpy
    print numpy.math.factorial(3)

    python 自带的标准库也有阶乘函数
    import math
    print math.factorial(3)
    展开全文
  • pyton写购物车

    2018-01-16 13:49:00
    pyton写购物车 基本要求: 用户输入工资,然后打印购物菜单用户可以不断的购买商品,直到余额不够为止退出时打印用户已购买的商品和剩余金额。。 1.这个程序功能不完整,bug很多,练手之作。 1 goods = ['...
    pyton写购物车

    基本要求:

    用户输入工资,然后打印购物菜单
    用户可以不断的购买商品,直到余额不够为止
    退出时打印用户已购买的商品和剩余金额。。

    1.这个程序功能不完整,bug很多,练手之作。

    
    
     1 goods = ['Iphone: 5000','mac Pro: 12000','alex python: 81','Bike: 800','Starback latte: 31']
     2 salary = input('请输入您的工资:')
     3 print('------- 商品列表如下输入序号即可加入购物车 -------')
     4 print('温馨提示:输入序号8即可退出程序!')
     5 for i in goods:
     6     print(goods.index(i)+1,'. '+i)
     7 
     8 shopping_car = []
     9 while True:
    10     shopping_num = int(input('请输入要购买的商品序号:'))
    11     if shopping_num == 1:
    12         shopping_car.append(goods[shopping_num-1])
    13         continue
    14     elif shopping_num == 2:
    15         shopping_car.append(goods[shopping_num-1])
    16         continue
    17     elif shopping_num == 3:
    18         shopping_car.append(goods[shopping_num - 1])
    19         continue
    20     elif shopping_num == 4:
    21         shopping_car.append(goods[shopping_num - 1])
    22         continue
    23     elif shopping_num == 5:
    24         shopping_car.append(goods[shopping_num - 1])
    25         continue
    26     elif shopping_num == 8:
    27         break
    28     else:
    29         print('没有该商品请重新输入商品序号:')
    30         continue
    31 
    32 print('您所购买的商品如下:')
    33 for i in shopping_car:
    34     print(shopping_car.index(i),'.'+i)
    
    

     


    2.这个程序参照alex的pyhon讲解所写,功能比较完善,但是还有很多地方可以改善,比如可以用函数等知识来优化此程序。
     1 goods = [('Iphone',50000),('mac Pro',12000),('alex python',81),('Bike',800),('Starback latte',31)]
     2 print('------- 商品列表如下输入序号即可加入购物车 -------')
     3 print('温馨提示:输入q即可退出程序!')
     4 salary = input('请输入您的工资:')
     5 shopping_list = []
     6 if salary.isdigit():                               #判断工资输入是否是数字
     7     salary = int(salary)
     8     while True:
     9         for index,item in enumerate(goods):        #for循环打印商品列表
    10             print('%s.%s'% (index,item))
    11 
    12         user_choice = input('请输入需要购买的商品序号:')
    13         if user_choice.isdigit():                  #判断序号选择是否是数字
    14             user_choice = int(user_choice)
    15             if user_choice < len(goods) and user_choice >= 0:    #选择的范围不能超出
    16                 p_item = goods[user_choice]                      #提取商品
    17                 if p_item[1] <= salary:                           #判断工资是否购买商品
    18                     shopping_list.append(goods[user_choice])      #已购商品存入列表
    19                     salary = salary - p_item[1]                    #计算余额
    20                     print("%s已经添加到购物车中,您的余额还剩%s元!"% (p_item,salary))
    21                 else:
    22                     print('您的余额还剩%s不够了!'% salary)
    23             else:
    24                 print('错误选项!商品不存在,请重新选择!')
    25         elif user_choice == 'q'and 'Q':                         #离开程序
    26             print('------购物车东西如下---------')
    27             for i in shopping_list:                             #打印已购买的商品
    28                 print(i)
    29             print('您的余额还剩%s...' % salary)                   #打印余额
    30             break
    31         else:
    32             print('错误选项!')

     

     

     

    转载于:https://www.cnblogs.com/hsj-jingyu/p/8296186.html

    展开全文
  • pyton编程学习及测试类应用素材 线上教育 ui素材、编程学习应用ui、编程线上学习
  • 其他pyton笔记

    2017-08-03 19:40:00
    1 #小部分老男孩pyton课程 2 3 4 #所有脚本第一句话都要写解释以下脚本是用什么解释器 5 #!/usr/bin/env python 6 #语言设置为:简体中文 7 #_*_coding:utf-8_*_ 8 9 ##########################...
       1 #小部分老男孩pyton课程
       2 
       3 
       4 #所有脚本第一句话都要写解释以下脚本是用什么解释器
       5 #!/usr/bin/env python
       6 #语言设置为:简体中文
       7 #_*_coding:utf-8_*_
       8 
       9 #############################################################################>>>
      10 #
      11 #变量定义的规则:
      12 
      13 #变量名只能是 字母、数字或下划线的任意组合
      14 #变量名的第一个字符不能是数字
      15 #以下 关键字 不能声明为变量名
      16 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
      17  'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
      18  'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
      19  'return', 'try', 'while', 'with', 'yield']
      20 #
      21 #############################################################################>>>
      22 #input <输入>
      23 #print<打印>
      24 username = input('用户名')
      25 password = input('密码')
      26 print(username,password)
      27 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      28 #输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
      29 #另存为 passwd.py到  c:\users\alex\pycharmprojects\s14\day1>python
      30 
      31 import getpass
      32 
      33 username = input('usernmae:')
      34 password = getpass.getpass('password:')
      35 
      36 print(username,password)
      37 
      38 cd c:\users\alex\pycharmprojects\s14\day1>python passwd.py
      39 
      40 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      41 
      42 #  .format   <格式>
      43 #  import    <调用>  getpass<py系统自带函数模块,密文输入>
      44 #  print     <打印>
      45 #  if        <条件成立执行>
      46 #  and       <而且>
      47 #  else      <if条件不成立时执行>
      48 
      49 import getpass
      50 
      51 name = 'alex'
      52 word = 'as123'
      53 
      54 username = input('名字:')
      55 password = input('密码:')
      56 
      57 if name == username and word == password:
      58     print('欢迎 {N} 登录'.format(N=name))
      59 else:
      60     print('账号或者密码错误')
      61 
      62 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      63 
      64 #  i  <变量名>
      65 #  range(10)  <范围>  (0,1,2,3,4,5,6,7,8,9)<0-9十个数>
      66 
      67 for i in range(10):
      68     print('loop',i)
      69 
      70     
      71 #  (0,10,3)  <起始数,结束值,步长>  <步长默认加1>
      72 for i in range(0,10,3):
      73     print('loop',i)
      74 
      75 
      76 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      77 
      78 # continue  <跳出本次循环,重新循环>
      79 
      80 for h in range(0,10):
      81     if h <3:
      82         print('loop',h)
      83     else:
      84         print('kkkkkk...')
      85         continue
      86         print('yyyyyy...')
      87     print('呵呵呵...')
      88 
      89 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      90 
      91 #  for t in range(9)  <条件循环> <变量名> <在> <范围(参数)>
      92 #  print  <打印>
      93 #  if     <条件判断>
      94 #  break  <中止程序>
      95 
      96 for t in range(9):
      97     print('______',t)
      98     for j in range(11,50):
      99         print(j)
     100         if j >= 22:
     101                break
     102 
     103 #############################################################################>>>
     104 
     105             
     106 #模块寻找路径先在当前目录下寻找,然后在全局环境变量目录里寻找
     107             
     108 #'''你会发现,上面自己写的tab.py模块只能在当前目录下导入,
     109 #如果想在系统的何何一个地方都使用怎么办呢? 此时你就要
     110 #把这个tab.py放到python全局环境变量目录里啦,基本一般都
     111 #放在一个叫 Python/2.7/site-packages 目录下,这个目录
     112 #在不同的OS里放的位置不一样,用 print(sys.path) 可以查
     113 #看python环境变量列表。'''
     114                  #系统自带模块在以下目录里为  XXX.py的文件
     115 #C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib
     116 
     117                  #默认第三方模块在以下目录里(即是全局环境变量目录)
     118 #C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\site-packages
     119 
     120 import sys
     121 print(sys.path)  #打印环境变量
     122 print('------我割割割-------')
     123 print(sys.argv)   #打印路径
     124 
     125 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     126 
     127 import os
     128 
     129 #cmd = os.system('dir')#执行命令,不保存结果
     130 
     131 #print('查看1',cmd)
     132 
     133 #直接输出到屏幕上
     134 
     135 #cmd2 = os.popen('dir2').read()
     136 #print('查看2',cmd2)
     137 
     138 cmd3 = os.mkdir('查看3')
     139 print('查看3',cmd3)
     140 
     141 #############################################################################>>>
     142 
     143 1、数字
     144 int(整型)
     145 -9223372036854775808~9223372036854775807
     146 
     147 float(浮点型)
     148 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4
     149 complex(复数)
     150 (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数
     151 
     152 2、布尔值
     153   真或假
     154   1 或 0
     155 
     156 3、字符串
     157 "hello world"
     158 #############################################################################>>>
     159 
     160 
     161 
     162 #############################################################################>>>
     163 #
     164 #  字符串格式化符号含义
     165 #
     166 #  符号             说明
     167 #
     168 #  %c  <格式化字符及其ASCII码><a=97>
     169 #           >>> '%c %c %c %c %c' % (97,98,99,100,101)
     170 #           >>> 'a b c d e'
     171 #  %s  <格式化字符串>
     172 #           >>> '%s' % 'I love fc'
     173 #           >>> 'I love fc'
     174 #  %d  <格式化整数>
     175 #           >>> '%d + %d = %d' % (4,5,4+5)
     176 #           >>>  '4 + 5 = 9'
     177 #  %o  <格式化无符号八进制数>
     178 #  %x  <格式化无符号十六进制数>    <10=a,11=b>
     179 #           >>> '%x' % 160
     180 #           >>>'a0'
     181 #  %X  <格式化无符号十六进制数(大写)>    <10=A,11=B>
     182 #  %f  <格式化定点数,可以指定小点后的精度>
     183 #           >>> '%F' % 27.986
     184 #           >>> '27.986000'
     185 #  %e  <用科学计数法格式化定点数>
     186 #           >>> '%e' % 27.158
     187 #           >>> '2.715800e+01'
     188 #  %E  <作用同%e,用科学计数法格式化定点数>
     189 #  %g  <根据值的大小决定使用%f或%e>
     190 #  %G  <作用同%g,根据值的大小决定使用%f或%E>
     191 #
     192 #############################################################################>>>
     193 #print<打印>
     194 #打印数据类型
     195 
     196 name = input('名字:')
     197 age = int(input('年龄:'))
     198 print(type(age),  type(str(age)))
     199 job = input('行业:')
     200 salaty = input('年薪:')
     201 
     202 
     203 info = '''
     204 --------info of %s -----
     205 Name:%s
     206 Age:%d
     207 job:%s
     208 salary:%s
     209 ''' %(name,name,age,job,salaty)
     210 print(info)
     211 ============== RESTART: C:/Users/Administrator/Documents/学习.py ==============
     212 名字:a
     213 年龄:12
     214 <class 'int'> <class 'str'>
     215 行业:sdad
     216 年薪:2555
     217 
     218 --------info of a -----
     219 Name:a
     220 Age:12
     221 job:sdad
     222 salary:2555
     223 
     224 >>> 
     225 
     226 #############################################################################>>>
     227 #显式转换的多种类型
     228 #
     229 #int (x [,base]) ⇒ 将x转换为一个十进制的整数 
     230 #long(x [,base]) ⇒ 将x转换为一个十进制的长整数 
     231 #float(x) ⇒ 将x转换为一个浮点数 
     232 #str(object) ⇒ 转换为字符串 
     233 #repr(object) ⇒ 转换为表达式字符串 
     234 #eval(str) ⇒ 用来计算在字符串中的有效Python表达式,并返回一个对象 
     235 #tuple(seq) ⇒ 将序列seq转换为一个元组 
     236 #list(seq) ⇒ 将序列seq转换为一个列表 
     237 #chr(x ) ⇒ 将一个整数转换为一个字符 
     238 #unichr(x ) ⇒ 将一个整数转换为Unicode字符 
     239 #ord(x ) ⇒ 将一个字符转换为它的整数值 
     240 #hex(x ) ⇒ 将一个整数转换为一个十六进制字符串 
     241 #oct(x ) ⇒ 将一个整数转换为一个八进制字符串
     242 #############################################################################>>>
     243 
     244 #############################################################################>>>
     245 #   当行注释:# 被注释内容
     246 #   多行注释:   ''' 被注释的内容  '''
     247 #
     248 #
     249 info = '''
     250 
     251 
     252 
     253 '''
     254 #
     255 #############################################################################>>>
     256 
     257 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     258 
     259 #format<格式>
     260 
     261 name = input('名字:')
     262 age = int(input('年龄:'))
     263 print(type(age),  type(str(age)))
     264 job = input('行业:')
     265 salaty = input('年薪:')
     266 
     267 
     268 info2 = '''
     269 --------info of {N}  --------
     270 姓名:{N}
     271 芳龄:{A}
     272 职业:{J}
     273 工资:{S}
     274 '''.format(N=name,
     275            A=age,
     276            J=job,
     277            S=salaty)
     278 
     279 print(info2)
     280 
     281 ============== RESTART: C:\Users\Administrator\Documents\学习.py ==============
     282 名字:yyy5
     283 年龄:88
     284 <class 'int'> <class 'str'>
     285 行业:dgdgdg5dgdfg
     286 年薪:9995121
     287 
     288 --------info of yyy5  --------
     289 姓名:yyy5
     290 芳龄:88
     291 职业:dgdgdg5dgdfg
     292 工资:9995121
     293 
     294 >>> 
     295 ###################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     296 
     297 #format<格式>
     298 
     299 name = input('名字:')
     300 age = int(input('年龄:'))
     301 print(type(age),  type(str(age)))
     302 job = input('行业:')
     303 salaty = input('年薪:')
     304 
     305 
     306 info3 = '''
     307 --------info of {0}  --------
     308 姓名:{0}
     309 芳龄:{1}
     310 职业:{2}
     311 工资:{3}
     312 '''.format(name,age,job,salaty)
     313 
     314 print(info3)
     315 
     316 >>> 
     317 ============== RESTART: C:\Users\Administrator\Documents\学习.py ==============
     318 名字:d5as6d5
     319 年龄:56565
     320 <class 'int'> <class 'str'>
     321 行业:ad2a6sd6a
     322 年薪:26s5d6s2d6s2
     323 
     324 --------info of d5as6d5  --------
     325 姓名:d5as6d5
     326 芳龄:56565
     327 职业:ad2a6sd6a
     328 工资:26s5d6s2d6s2
     329 
     330 >>> 
     331 
     332 #############################################################################>>>
     333 
     334 #——————————数据运算——————
     335 #
     336 #——算数运算:——
     337 #
     338 #    运算符     描述                                                                         实例
     339 #
     340 #    +          加-两个对象相加________________________________________________________________a+b 输出结果 30    15+15=30
     341 #    -          减-得到负数或者一个数减去另一个数______________________________________________a-b 输出结果-10    20-30=-10
     342 #    *          乘-两个数相乘或者返回一个被重复若干次的字符串__________________________________a*b 输出结果200    20*10=200
     343 #    /          除-X除以Y______________________________________________________________________b/a 输出结果2      4/2=2
     344 #    %          取模-返回除法的余数____________________________________________________________b%a 输出结果0
     345 #    **         幂-返回X的Y次幂________________________________________________________________a**b 为10的20次方,输出结果100000000000000000000
     346 #    //         取整除-返回商的整数部分________________________________________________________9//2 输出结果 4      9.0//2.0  输出结果4.0
     347 #
     348 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     349 #
     350 #——比较运算:——   false<假0>   true<真1>
     351 #
     352 #    运算符     描述                                                                          实例
     353 #
     354 #    ==         等于-比较对象是否相等__________________________________________________________(a==b)返回False
     355 #    !=         不等于-比较两个对象是否不相等__________________________________________________(a!=b)返回true
     356 #    <>         不等于-比较两个对象是否不相等__________________________________________________(a<>b)返回true   这个运算符类似  !=
     357 #    >          大于-返回X是否大于Y____________________________________________________________(a>b)返回False
     358 #    <          小于-返回X是否小于y。所有比较运算符返回1表示真,返回0表示假____________________(a<b)返回true
     359 #                     这分别与特殊的变量True和False等价.注意,这些变量名的大写。                                 
     360 #    >=         大于等于-返回x是否大于等于y____________________________________________________(a>=b)返回False
     361 #    <=         小于等于-返回x是否小于等于y____________________________________________________(a>=b)返回true
     362 #
     363 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     364 #
     365 #——赋值运算:——
     366 #
     367 #    运算符      描述                                                                           实例
     368 #
     369 #    =           简单的赋值运算符_______________________________________________________________c  =  a + b 将 a + b 的运算结果赋值给 c
     370 #    +=          加法赋值运算符_________________________________________________________________c +=  a   等效于 c = c +  a
     371 #    -=          减法赋值运算符_________________________________________________________________c -=  a   等效于 c = c -  a                                                              
     372 #    *=          乘法赋值运算符_________________________________________________________________c *=  a   等效于 c = c *  a                                                                                                             
     373 #    /=          除法赋值运算符_________________________________________________________________c /=  a   等效于 c = c /  a                                                                                                             
     374 #    %=          取模赋值运算符_________________________________________________________________c %=  a   等效于 c = c %  a                                                                    
     375 #    **=         幂赋值运算符___________________________________________________________________c **= a   等效于 c = c ** a                                                                                                              
     376 #    //=         取整赋值运算符_________________________________________________________________c //= a   等效于 c = c // a                                                 _                                                             
     377 #
     378 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     379 #
     380 #——逻辑值运算:——
     381 #
     382 #    运算符      描述                                                                           实例
     383 #
     384 #    and         布尔“与”-如果X为False,  X and Y  ,返回False,否则它返回Y的计算值_____________(K and J)返回true
     385 #    or          布尔“或”-如果X为True, 它返回True,否则它返回Y的计算值_________________________(K or J)返回true
     386 #    not         布尔“非”-如果X为True,返回False,如果X为False,它返回True______________________not(K and J)返回true                                                            
     387 #
     388 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     389 #
     390 #——成员运算:——
     391 #
     392 #    运算符      描述                                                                           实例
     393 #
     394 #    in         如果在指定的序列中找到值返回True,否则返回False,________________________________x在y序列中,如果x在y序列中返回True
     395 #    not in     如果在指定的序列中没有找到值返回True,否则返回False,____________________________x不在y序列中,如果x在y序列中返回True                                                
     396 #
     397 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     398 #
     399 #——身份运算:——
     400 #
     401 #    运算符      描述                                                                           实例
     402 #
     403 #    is         is是判断两个标识符是不是引用自一个对象__________________________________________x is y ,如果 id(x) 等于 id(y)  ,is 返回结果1
     404 #    is not     is not是判断两个标识符是不是引用自不同对象______________________________________x is not y ,如果 id(x) 不等于 id(y)  ,is not 返回结果1                                            
     405 #
     406 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     407 #
     408 #——位运算:——
     409 #
     410 #    运算符     描述                                                                         实例
     411 #
     412 #    &          按位与运算符_________________________________________________________________(a&b)  输出结果  12 ,二进制解释: 0000 1100
     413 #    |          按位或运算符_________________________________________________________________(a|b)  输出结果  61 ,二进制解释: 0011 1100
     414 #    ^          按位异或运算符_______________________________________________________________(a^b)  输出结果  49 ,二进制解释: 0011 0001
     415 #    ~          按位取反算符_________________________________________________________________(~a)   输出结果 -61 ,二进制解释: 1100 0011  ,在一个有符号二进制数的补码形式。
     416 #    <<         左移动运算符_________________________________________________________________a<<2   输出结果 240 ,二进制解释: 1111 0000
     417 #    >>         右移动运算符_________________________________________________________________a>>2   输出结果  15 ,二进制解释: 0000 1111
     418 #
     419 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     420 #    按位取反运算规则(按位取反再加1)
     421 #!/usr/bin/python
     422   
     423 a = 60            # 60 = 0011 1100
     424 b = 13            # 13 = 0000 1101
     425 c = 0
     426   
     427 c = a & b;        # 12 = 0000 1100
     428 print "Line 1 - Value of c is ", c
     429   
     430 c = a | b;        # 61 = 0011 1101
     431 print "Line 2 - Value of c is ", c
     432   
     433 c = a ^ b;        # 49 = 0011 0001 #相同为0,不同为1
     434 print "Line 3 - Value of c is ", c
     435   
     436 c = ~a;           # -61 = 1100 0011
     437 print "Line 4 - Value of c is ", c
     438   
     439 c = a << 2;       # 240 = 1111 0000
     440 print "Line 5 - Value of c is ", c
     441   
     442 c = a >> 2;       # 15 = 0000 1111
     443 print "Line 6 - Value of c is ", c
     444 
     445 
     446 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     447 #
     448 #——运算符优先级:——
     449 #
     450 #    运算符                             描述                                                                           
     451 #
     452 #    **                                  ___指数(最高优先级)
     453 #    ~ + -                               ___按位翻转,一元加号和减耗(最后两个的方法名为+@和-@)
     454 #    * / % //                            ___乘,除,取模和取整数                                                         
     455 #    + -                                 ___加法减法                                                                                                          
     456 #    >> <<                               ___右移,左移运算符                                                                                                         
     457 #    &                                   ___位 'AND'                                    
     458 #    ^ |                                 ___位运算符                                                                                                  
     459 #    <= < > >=                           ___比较运算符                                                          
     460 #    < > == !=                           ___等于运算符
     461 #    = %= /= //= -= += *= **=            ___赋值运算符
     462 #    is  is not                          ___身份运算符                                                           
     463 #    in  not in                          ___成员运算符                                                                                                         
     464 #    not or and                          ___逻辑运算符                                                                                                       
     465 # 
     466 ######>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     467 #    * / + -  <一元操作符>
     468 #    %[百分比,取余数]  **[幂运算操作符,比一元操作符左边高比一元操作符右边低]
     469 #    //[地板除法]
     470 #
     471 #运算符优先级
     472 #              幂运算          **
     473 #             正负号        +*  -*
     474 #         算术操作符    *  /  //   +  -
     475 #         比较操作符   <  <=   >   >=   ==   != 
     476 #         逻辑运算符       not  and  or
     477 #
     478 #比较操作符 < <=  >  >=  ==  !=   <根据表示的值进行比较>
     479 #
     480 #true  <1,真>   false  <0,假>
     481 #逻辑符  and <左右都为true执行>  or <左右 或者为true执行>  not<相反执行>
     482 
     483 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     484 
     485 #三元操作符  语法: x if 条件 else y
     486 #x,y = 4, 5
     487 #if x < y:
     488 #   small=x
     489 #else:
     490 #   small=y
     491 #改进为
     492 #small = x if x < y else y
     493 #
     494 #assert<断言,关键字,AssertionError,程序检查点>
     495 
     496 #true  <1,真>   false  <0,假>
     497 #while<而,循环体,为true时执行>
     498 #
     499 #for<为,循环体>  in<在>
     500 #
     501 #for 目标 in 表达式
     502 #   循环体
     503 
     504 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     505 
     506 三元运算
     507 
     508 result = 值1 if 条件 else 值2
     509 如果条件为真:result = 值1
     510 如果条件为假:result = 值2
     511 
     512 三、进制
     513 
     514 二进制,01
     515 八进制,01234567
     516 十进制,0123456789
     517 十六进制,0123456789ABCDEF  二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
     518 计算机内存地址和为什么用16进制?
     519 
     520 为什么用16进制
     521 1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据。十六进制更简短,因为换算的时候一位16进制数可以顶4位2进制数,也就是一个字节(8位进制可以用两个16进制表示)
     522 2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
     523 3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
     524 4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算
     525 
     526 16进制用在哪里
     527 1、网络编程,数据交换的时候需要对字节进行解析都是一个byte一个byte的处理,1个byte可以用0xFF两个16进制来表达。通过网络抓包,可以看到数据是通过16进制传输的。
     528 2、数据存储,存储到硬件中是0101的方式,存储到系统中的表达方式都是byte方式
     529 
     530 3、一些常用值的定义,比如:我们经常用到的html中color表达,就是用的16进制方式,4个16进制位可以表达好几百万的颜色信息。
     531 
     532 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     533 
     534 ################################################################################
     535 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     536 #字符串的操作特性:不可修改
     537 #
     538 #常用变量演示
     539 name = 'my name is alex'
     540 print(name.capitalize())
     541 print(name.count('a'))
     542 print(name.center(50,'-'))
     543 print(name.endswith('ex'))
     544 print(name.expandtabs(tabsize=30))
     545 print(name[name.find('name'):])
     546 print(name.format(name='alex',year=23))
     547 print(name.format_map( {'name':'alex','year':12} ))
     548 print('ab23'.isalnum())
     549 print('abA'.isalpha())
     550 print('1A'.isdecimal())
     551 print('1A'.isdigit())
     552 print('a 1A'.isidentifier())#判断是否合法的标识符
     553 print('33'.isnumeric())
     554 print('33'.isspace())
     555 print('My Name IS '.istitle())
     556 print('My Name IS '.isprintable())#设备终端使用
     557 print('My Name IS '.isupper())
     558 print('+'.join(['1','2','3']))
     559 print( name.ljust(23,'*'))
     560 print( name.rjust(25,'-'))
     561 print( 'Alex'.lower())
     562 print( 'Alex'.upper())
     563 print( '\n Alex'.lstrip())
     564 print( 'Alex \n'.rstrip())
     565 print( '    Alex\n'.strip())
     566 
     567 print('---随机密码----')
     568 h = str.maketrans('abcdefli','123$@456')#随机密码
     569 print('alex li'.translate(h))
     570 print('                 ')
     571 
     572 print('---替换----')
     573 print('alex li lllll'.replace('l','L',4))
     574 print('                 ')
     575 
     576 print('---寻找下标号----')
     577 print('alex li'.rfind('l'))
     578 print('                 ')
     579 
     580 print('---按字符串分割----')
     581 print('al ex lil'.split('l'))
     582 print('                 ')
     583 
     584 print('---按换行\n分割----不同系统的换行')
     585 print('1+2\n+3+4'.splitlines())
     586 print('                 ')
     587 
     588 print('---按换行\n分割----')
     589 print('Alex Li'.swapcase())
     590 print('                 ')
     591 
     592 print('---第一字母大写----')
     593 print('llex Li'.title())
     594 print('                 ')
     595 
     596 print('---前边用0填充----')
     597 print('lex Li'.zfill(26))
     598 print('                 ')
     599 
     600 
     601 
     602 ####>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     603 #变量名.capitalize()
     604 #
     605 #capitalize()                   <把字符串的第一个字符改为大写>
     606 #casefold()                     <把整个字符串的所有的字符变成小写>
     607 #center(width)                  <将字符串居中,并使用空格填充至长度width的新字符串>
     608 #count(sub[,start[,end]])       <返回sub在字符串里边出现的次数,start和end参数表示范围,可选>
     609 #encode(encoding='utf-8',errors='strict')           <以encoding指定的编码格式对字符串进行编码>
     610 #endswith(sub[,start[,end]])    <检查字符串是否sub字符串结束,如果是返回true,否则返回false,
     611 #                                    start和end参数表示范围,可选 >
     612 #expandtabs([tabsize=8])        <把字符串的tab符号(\t)转换为空格,字符默认的空格数是tabsize=8>
     613 #find(sub[,start[end]])         <检测sub是否包含在字符串中,如果有返回索引值,否则返回-1,
     614 #                                    start和end参数表示范围,可选>
     615 #index(sub[,start[,end]])       <跟find方法一样,不过如果sub不在string中会产生异常>
     616 #isalunum()                     <如果字符串至少有一个字符都是字母或数字则返回true,否则返回false>
     617 #isalpha()                      <如果字符串至少有一个字符并且所有字符都是字母则返回true,否则返回false>
     618 #isdecimal()                    <如果字符串只包含十进制数字则返回true,否则返回false>
     619 #isdingt()                      <如果字符串中只包含数字,则返回true,否则返回false>
     620 #islower()                      <如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,
     621 #                                    则返回ttue,否则返回false>        
     622 #isnumeric()                    <如果字符串中只包含数字字符,则返回true,否则返回false>
     623 #isspace()                      <如果字符串中只包含空格,则返回true,否则返回false>
     624 #istile()                       <如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写)
     625 #                                     则返回ttue,否则返回false>
     626 #isupper()                      <如果字符串至少包含一个区分大小写的字符,并且这些字符都是大写,
     627 #                                  则返回ttue,否则返回false>
     628 #join(sub)                      <以字符串作为分隔符,插入到sub中所有的字符之间>
     629 #ljust(width)                   <返回一个左对齐的字符串,并且使用空格填充至长度为width的新字符串>
     630 #lower()                        <转换字符串中所有大写字符为小写>
     631 #lstrip()                       <去掉字符串左边的所有空格>
     632 #partition(sub)                 <找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),
     633 #                                    如果字符串中不包含sub则返回('原字符串','','')>
     634 #replace(old,new[,count])       <把字符串中的old子字符串替换成new子字符串,
     635 #                                     如果count指定,则替换不超过count次>
     636 #rfind(sub[,start[,end]])       <类似于find()方法,不过是从右边开始查找>
     637 #rindex(sub[start[,end]])       <类似于index()方法,不过是从右边开始>
     638 #rjust(width)                   <返回一个右对齐的字符串,并且使用空格填充至长度为width的新字符串>
     639 #rpartion(sub)                  <类似于partion()方法,不过是从右边开始查找>
     640 #rstrip()                       <删除字符串末尾的空格>
     641 #splis(sep=none,maxsplit=-1)    <不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,
     642 #                                     则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接列表>
     643 #splitlines(([keepends]))       <按照'\n'分隔,返回一个包含各行作为元素的列表,
     644 #                                     如果keepends参数指定,则返回前keepends行>
     645 #startswith(prefix[,start[,end]])<检查字符串是否以prefix开头,是则返回true,否则返回false,
     646 #                                      start和end参数可以指定范围检查,可选>
     647 #strip([chars])                 <删除字符串前边和后边所有的空格,chars参数可以指定删除的字符,可选>
     648 #swapcase()                     <翻转字符串中的大小写>
     649 #title()                        <返回标题化(所有的单词都以大写开始,其余字母均小写)>
     650 #####>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     651 #translate(table)               <根据table的规则(可以由str.maketrans('a','b')定制)转换字符串只的字符>
     652 #                                     >>> str1 = 'ssssssaaaaasssss'
     653 #                                     >>> str1.translate(str.maketrans('s','b'))
     654 #                                         'bbbbbbaaaaabbbbb'
     655 ######>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     656 #upper()                        <转换字符串中的所有小写字符为大写>
     657 #zfill(width)                   <返回长度为width的字符串,原字符串右对齐,前边用0填充>
     658 #############################################################################################################
     659 
     660 ###########################################################################>>>
     661 #
     662 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     663 #
     664 #列表、元组操作
     665 #   ' '  在python里  ' ' 里的内容为 '字符串'  。不加 ' ' 为变量名
     666 #print()打印
     667 
     668 # 英文名字大全  http://ename.dict.cn/list/all/M
     669 
     670 names = ['Cahill','Teenglan','Eric','Peggie','Aalto','Baal','Sadie',
     671          'Gage','Hagan','Jack','Kaley','Mabel','Lacy','Nadine','Pace','Amy']
     672 
     673 #通过下标访问列表中的元素,下标从0开始计数
     674 print('---通过下标访问列表中的元素----')
     675 
     676 print(names[0])
     677 print(names[1],names[3],names[4])
     678 print(names[-1])
     679 print(names[-2])     #还可以倒着取
     680 print('                              ')
     681 
     682 print('---切片:取多个元素---')
     683 print(names[1:4])    #取下标1至下标4之间的数字,包括1,不包括4
     684 print(names[1:-1])   #取下标1至-1的值,不包括-1
     685 print('                              ')
     686 
     687 print('---切片:取下标1至-1的值,不包括-1---')
     688 print(names[0:3])    #取下标1至-1的值,不包括-1
     689 print(names[:3])     #如果是从头开始取,0可以忽略,跟上句效果一样
     690 print('                              ')
     691 
     692 print('---参数默认是0,-1就是倒数第1个----')
     693 print(names[:3])     #如果想取最后一个,必须不能写-1,只能这么写
     694 print(names[3:-1])   #这样-1(最后一个)就不会被包含了
     695 print('                              ')
     696 
     697 print('---参数默认是0----')
     698 print(names[0:5:2])    #后面的2是代表,每隔一个元素,就取一个,默认是1
     699 print(names[::3])      #参数默认是0,所以可以不写
     700 print('                              ')
     701 
     702 print('                              ')
     703 print('---追加names.append('')---每次只能追加一个')
     704 names.append('我是新来的',)
     705 print(names)
     706 print('                              ')
     707 
     708 
     709 print('                              ')
     710 print('---插入names.insert(下标号,名字)---每次只能插入一个')
     711 names.insert(3,'强行插队到下标位置3')
     712 print(names)
     713 print('                              ')
     714 
     715 print('                              ')
     716 print('---修改names[下标号]---')
     717 names[5] = '修改换人了'
     718 print(names)
     719 print('                              ')
     720 
     721 print('                              ')
     722 print('---删除names.remove('')---')
     723 print(names)
     724 names.remove('Eric')#删除指定元素名字
     725 print(names)
     726 print('                              ')
     727 
     728 print('---删除names.pop(下标号)---')
     729 print(names)
     730 names.pop(2)#删除指定列表中下标的值,默认-1
     731 print(names)
     732 print('                              ')
     733 
     734 print('                              ')
     735 print('---拷贝names.copy()---')
     736 print(names)
     737 name_copy = names.copy()
     738 print(name_copy)
     739 print('                              ')
     740 
     741 print('                              ')
     742 print('---排序names.sort()和翻转names.reverse()---')
     743 print('3.0里不同数据类型不能放在一起排序了')
     744 print(names)
     745 names.sort()
     746 print('                              ')
     747 print(names)
     748 names.reverse()
     749 print('                              ')
     750 print(names)
     751 
     752 print('                              ')
     753 print('---扩展names.extend(下标号)---')
     754 print('---数字默认为字符串""可以不加,但是数据类型却是整数--')
     755 print(names)
     756 b = ['3',9,'Amy','Amy','b的扩展']
     757 names.extend(b)
     758 print(names)
     759 print('                              ')
     760 
     761 
     762 print('                              ')
     763 print('---统计names.count(' ')---')
     764 print(names)
     765 cut = names.count('Amy')
     766 print('                              ')
     767 print(cut)
     768 print('                              ')
     769 
     770 
     771 print('                              ')
     772 print('---获取下标names.index(' ')---')
     773 print(names)
     774 idx = names.index('Amy')
     775 print('                              ')
     776 print(idx)
     777 print('                              ')
     778 
     779 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     780 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     781 #元组
     782 #元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表
     783 #它只有2个方法,一个是count,一个是index,完毕。
     784 
     785 #列表的写法
     786 name = ['Cahill','Teenglan','Eric','Amy','Amy','Amy','5','8']
     787 
     788 #元组的写法
     789 names = ('Cahill','Teenglan','Eric','Amy','Amy','Amy','Amy','Amy')
     790 
     791 print('                              ')
     792 print('---统计names.count(' ')---')
     793 print(names)
     794 cut = names.count('Amy')
     795 print('                              ')
     796 print(cut)
     797 print('                              ')
     798 
     799 
     800 print('                              ')
     801 print('---获取下标names.index(' ')---')
     802 print(names)
     803 idx = names.index('Amy')
     804 print('                              ')
     805 print(idx)
     806 print('                              ')
     807 
     808 #元组不能追加等操作,会报错。
     809 names.append('新加')
     810 
     811 
     812 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     813 #
     814 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎交流py
     815 
     816 #列表、元组操作浅copy(复制文件的快捷方式)和深copy(复制文件)
     817 
     818 #  names<变量名>  print()<打印>
     819 
     820 names = ['Cahill','Teenglan','Eric','Peggie','Aalto','Baal','Sadie',
     821          'Gage','Hagan','Jack','Kaley','Mabel','Lacy','Nadine','Pace','Amy']
     822 
     823 print('---原来列表的内容---')
     824 print(names)
     825 print('                              ')
     826 name2 = names.copy()
     827 
     828 print('---拷贝后列表的内容---')
     829 print(name2)
     830 print('                              ')
     831 
     832 print('---修改拷贝后列表里的内容---')
     833 names[2] =['修改了']
     834 print(names)
     835 print('                              ')
     836 print('---对比两个文件的内容---')
     837 print(name2)
     838 
     839 print('                              ')
     840 print('---列表打印-----------------------------------------------------')
     841 print('                              ')
     842 
     843 print('----跳跃打印不写默认值---- ')
     844 print(names[:])
     845 
     846 print('                              ')
     847 print('---跳跃打印---起始默认0:终止默认-1:跳跃默认1,默认值可以不写')
     848 print(names[1:-3:2])
     849 
     850 print('                              ')
     851 print('---列表循环打印---for i in names:--- ')
     852 print('                              ')
     853 for i in names:
     854     print (i)
     855 
     856 print('                              ')
     857 print('                              ')
     858 print('---新的实验浅pocy的用法----------------------------------------------------------------------------------------------------------------------------------------')
     859 print('                               ')
     860 print('---重新定义列表,在列表里添加列表---')
     861 name = ['Cahill','Peggie',['Ursula','Val',['Zena','Babb','Eric'],'Teenglan',],'Amy']
     862 
     863 print(name)
     864 print('                              ')
     865 
     866 print('                              ')
     867 name3 = name.copy()
     868 print('---拷贝后列表的内容---')
     869 print(name3)
     870 print('                              ')
     871 
     872 print('---修改拷贝后列表里的内容---')
     873 name[1] =['改第一层']
     874 name[2][1] =['第二层']
     875 name[2][2][0] =['列表里第三层']
     876 print(name)
     877 print('                              ')
     878 print('---对比两个文件的内容---')
     879 print(name3)
     880 print('                              ')
     881 
     882 print('浅pocy 只复制第一层内容,第二层开始只复制其快捷方式')
     883 print('                              ')
     884 
     885 print('                              ')
     886 print('---深copy的使用---copy.deepcopy(namett)------完全多层复制---尽量不用------------------')
     887 print('                              ')
     888 
     889 import copy
     890 namett = ['Cahill','Peggie',['Ursula','Val',['Zena','Babb','Eric'],'Teenglan',],'Amy']
     891 print('---重新定义列表---')
     892 print(namett)
     893 nameff = copy.deepcopy(namett)
     894 print('---拷贝后列表的内容---')
     895 print(nameff)
     896 print('                              ')
     897 
     898 print('                              ')
     899 print('---修改拷贝后列表里的内容---')
     900 namett[1] =['改第一层']
     901 namett[2][1] =['第二层']
     902 namett[2][2][0] =['列表里第三层']
     903 print(namett)
     904 print('---对比两个文件的内容---连第二第三层都没有跟着修改---')
     905 print(nameff)
     906 print('                              ')
     907 
     908 print('                              ')
     909 print('---深copy的使用---完全多层复制-------尽量不用----------------------------------')
     910 print('                              ')
     911 
     912 print('                              ')
     913 print('---新的实验-数值的pocy------------------------------------------------------------')
     914 print('数值的pocy---------------------------------------------------------')
     915 a = 1
     916 b = a
     917 print(a)
     918 print('                              ')
     919 print(b)
     920 print('                              ')
     921 
     922 print('重新定义a后的对比')
     923 a = 2
     924 print(a)
     925 print('                              ')
     926 print(b)
     927 print('                              ')
     928 
     929 print('                              ')
     930 print('                              ')
     931 print('---浅copy的用法-----------------------------------------------------------')
     932 print('                              ')
     933 #import<调用>   copy<函数拷贝模块>      list()<列表>     print()<打印>
     934 
     935 import copy
     936 person=['name',['saving',100]]
     937 
     938 p1=copy.copy(person)
     939 p2=person[:]
     940 p3=list(person)
     941       
     942 print(p1)
     943 print('                              ')      
     944 print(p2)
     945 print('                              ')
     946 print(p3)
     947 print('-----------------------------------------------------------------------------------')
     948 
     949 #
     950 #列表、元组操作
     951 #
     952 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     953 
     954 
     955 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
     956 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
     957 #<字典>
     958 #help(dict)
     959 #
     960 #
     961 #字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
     962 #
     963 #字典的特性:dict是无序的,key必须是唯一的,所以天生去重。字典里没有下标
     964 #
     965 #key-value
     966 #号码(下标):内容(可以重复)
     967 #
     968 
     969 print ('                                                ')
     970 print ('-------------创建字典的方法壹-------------------')
     971 dict1 = {'num2': 'LongZe', 'num3': 'XiaoZe','num4':'Maliy','num5':'Jack','num6':'Hagan','num7':'Cahill'}
     972 print(dict1)
     973 
     974 print ('                                                ')
     975 print ('-------------创建字典的方法二-------------------')
     976 dict2 = dict(鱼='让编程改变',书='读嘟嘟',笔='写写写')
     977 print(dict2)
     978 
     979 print ('                                                ')
     980 print ('-------------创建字典的方法三-------------------')
     981 dict3 =dict((('f',70),('i',50),('s',111),('h',104)))
     982 print(dict3)
     983 
     984 
     985 print('                                                 ')
     986 print('------------------------字典增加-----------------')
     987 dict1['yyy'] = '追加字典'
     988 print(dict1)
     989 
     990 print('                                                 ')
     991 print('------------------------字典修改-----------------')
     992 dict2[''] = '修改字典'
     993 print(dict2)
     994 
     995 print('                                                 ')
     996 print('------------------------字典删除方法壹-----------')
     997 dict1.pop('num3') 
     998 print(dict1)
     999 
    1000 print('                                                 ')
    1001 print('-----------py通用方法---字典删除方法二-----------')
    1002 del dict1['num4']
    1003 print(dict1)
    1004 
    1005 print('                                                 ')
    1006 print('------------字典删除方法三随机删除一个---------')
    1007 dict1.popitem()
    1008 print(dict1)
    1009 
    1010 
    1011 print('                                                 ')
    1012 print('------------------字典查找方法壹返回True---------')
    1013 'num2' in dict1
    1014 print('num2' in dict1)
    1015 
    1016 print('                                                 ')
    1017 print('---------------字典查找方法二----安全获取的方法--')
    1018 cz = dict1.get("num2")
    1019 print(cz)
    1020 
    1021 print('                                                 ')
    1022 print('------------------字典查找方法三-----------------')
    1023 dict1["num2"]
    1024 print(dict1["num2"])
    1025 
    1026 print ('如果一个key不存在,就报错,get不会,不存在只返回None')
    1027 
    1028 print('                                                 ')
    1029 print('                                                 ')
    1030 
    1031 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1032 #多级字典嵌套及操作
    1033 av_catalog = {
    1034     "欧美":{
    1035         "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
    1036         "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
    1037         "letmedothis.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
    1038         "x-aryrtyrtt.com": ["质量很高,真的很高","全部收费,屌比请绕过"]
    1039     },
    1040     "日韩":{
    1041         "tokyo-hottuiyui": ["质量怎样不清楚","听说是收费的"]
    1042     },
    1043     "大陆":{
    1044         "1024hkhkhkhkhkh": ["全部免费,真好,好人一生平安","服务器在国外,慢"]
    1045     }
    1046 }
    1047 
    1048 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
    1049 
    1050 print(av_catalog["大陆"]["1024"])
    1051 #ouput 
    1052 ['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']
    1053 
    1054 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1055 #字典的其它姿势
    1056 
    1057 #values 打印不包括keys所有的值
    1058 info.values()
    1059 dict_values(['LongZe Luola', 'XiaoZe Maliya'])
    1060 
    1061 #keys 打印所有keys的值
    1062 info.keys()
    1063 dict_keys(['stu1102', 'stu1103'])
    1064 
    1065 #setdefault 创建一个新的值,寻找某值,寻找不到创建
    1066 info.setdefault("stu1106","Alex")
    1067 'Alex'
    1068 info
    1069 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1070 info.setdefault("stu1102","龙泽萝拉")
    1071 'LongZe Luola'
    1072 info
    1073 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1074 
    1075 #update  合并两字典,交叉就覆盖,没有就添加。
    1076 info
    1077 {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1078 b = {1:2,3:4, "stu1102":"龙泽萝拉"}
    1079 info.update(b)
    1080 info
    1081 {'stu1102': '龙泽萝拉', 1: 2, 3: 4, 'stu1103': 'XiaoZe Maliya', 'stu1106': 'Alex'}
    1082 
    1083 #items  字典转成列表 
    1084 info.items()
    1085 dict_items([('stu1102', '龙泽萝拉'), (1, 2), (3, 4), ('stu1103', 'XiaoZe Maliya'), ('stu1106', 'Alex')])
    1086 
    1087 #通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个
    1088 #初始一个新的字典,每个KEY用同一个值<值等于浅COPY,类似快捷方式>
    1089 dict.fromkeys([1,2,3],'testd')
    1090 {1: 'testd', 2: 'testd', 3: 'testd'}
    1091 
    1092 
    1093 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1094 #循环dict<字典>
    1095 
    1096 #方法1  #通过key寻找打印
    1097 for key in info:
    1098     print(key,info[key])
    1099 
    1100 #方法2  #把字典转成列表,然后打印列表里的('k','v')
    1101 for k,v in info.items(): #会先把dict转成list,数据大时莫用
    1102     print(k,v)
    1103 
    1104 ##################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    1105 
    1106     
    1107 #############################################################################>>>
    1108 #以下代码复制到python(3.6.2rc2)下 按F5 可以正常执行,对比学习。QQ:124111294欢迎
    1109 #
    1110 menu = {
    1111     '北京':{
    1112         '海淀':{
    1113             '五道口':{
    1114                 'soho':{},
    1115                 '网易':{},
    1116                 'google':{}
    1117             },
    1118             '中关村':{
    1119                 '爱奇艺':{},
    1120                 '汽车之家':{},
    1121                 'youku':{},
    1122             },
    1123             '上地':{
    1124                 '百度':{},
    1125             },
    1126         },
    1127         '昌平':{
    1128             '沙河':{
    1129                 '老男孩':{},
    1130                 '北航':{},
    1131             },
    1132             '天通苑':{},
    1133             '回龙观':{},
    1134         },
    1135         '朝阳':{},
    1136         '东城':{},
    1137     },
    1138     '上海':{
    1139         '闵行':{
    1140             "人民广场":{
    1141                 '炸鸡店':{}
    1142             }
    1143         },
    1144         '闸北':{
    1145             '火车战':{
    1146                 '携程':{}
    1147             }
    1148         },
    1149         '浦东':{},
    1150     },
    1151     '山东':{},
    1152 }
    1153 
    1154 # while not  exit_flag    <如果条件为假执行循环>
    1155 # for k in current_layer  <条件循环>
    1156 #        print(k)        <打印>
    1157 # input<输入>
    1158 # .strip()#strip([chars]) <删除字符串前边和后边所有的空格,chars参数可以指定删除的字符,可选>
    1159 # if <条件判断>
    1160 # layers.pop()  <删除>
    1161 # elif choice not  in  <条件判断>
    1162 # continue <跳出本次循环,重新循环>
    1163 # else <否则,当if条件不成立时执行>
    1164 # .append<附加>
    1165 # choice<选择>
    1166 
    1167 exit_flag = False
    1168 current_layer = menu
    1169 
    1170 layers = [menu]
    1171 
    1172 while not  exit_flag:
    1173     for k in current_layer:
    1174         print(k)
    1175     choice = input(">>:").strip()
    1176     if choice == "b":
    1177         current_layer = layers[-1]
    1178         #print("change to laster", current_layer)
    1179         layers.pop()
    1180     elif choice not  in current_layer:continue
    1181     else:
    1182         layers.append(current_layer)
    1183         current_layer = current_layer[choice]
    1184 #
    1185 #############################################################################>>>
    小部分老男孩pyton课程

     

     

     1 #集合是一个无序的,不重复的数据组合,它的主要作用如下:
     2 
     3 #去重,把一个列表变成集合,就自动去重了
     4 #关系测试,测试两组数据之前的交集、差集、并集等关系
     5 
     6 s = set([3,5,9,10])      #创建一个数值集合  
     7 t = set("Hello")         #创建一个唯一字符的集合  
     8 
     9 a = t | s          # t 和 s的并集  
    10 b = t & s          # t 和 s的交集  
    11 c = t - s          # 求差集(项在t中,但不在s中)  
    12 d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
    13 
    14 #基本操作:  
    15 t.add('x')            # 添加一项  
    16 s.update([10,37,42])  # 在s中添加多项  
    17 
    18 #使用remove()可以删除一项:  
    19 t.remove('H')  
    20 len(s)  
    21 #set 的长度  
    22 x in s  
    23 #测试 x 是否是 s 的成员  
    24 x not in s  
    25 #测试 x 是否不是 s 的成员  
    26 s.issubset(t)  
    27 s <= t  
    28 #测试是否 s 中的每一个元素都在 t 中  
    29 s.issuperset(t)  
    30 s >= t  
    31 #测试是否 t 中的每一个元素都在 s 中  
    32 s.union(t)  
    33 s | t  
    34 #返回一个新的 set 包含 s 和 t 中的每一个元素  
    35 s.intersection(t)  
    36 s & t  
    37 #返回一个新的 set 包含 s 和 t 中的公共元素  
    38 s.difference(t)  
    39 s - t  
    40 #返回一个新的 set 包含 s 中有但是 t 中没有的元素  
    41 s.symmetric_difference(t)  
    42 s ^ t  
    43 #返回一个新的 set 包含 s 和 t 中不重复的元素  
    44 s.copy()  
    45 #返回 set “s”的一个浅复制
    集合

     

    转载于:https://www.cnblogs.com/ujq3/p/7281553.html

    展开全文
  • pyton setup

    2020-12-01 12:44:19
    <div><p>add python setup.py file to make this project to a python package - <code>pip install git-auto-deploy</code> its also will support auto installation to <code>/usr/bin</code> or <code>/otp...
  • # pyton基础 1

    2018-06-06 22:31:47
    pyton基础 1 1. 文件 python文件名可以任意 导入模块时,后缀名是.py 2. 变量 由字母、数字和_组成,不能以数字开头 关键字 False class finally is return None continue for lambda try True def ...

    pyton基础 1

    1. 文件

    • python文件名可以任意
    • 导入模块时,后缀名是.py

    2. 变量

    由字母、数字和_组成,不能以数字开头
    关键字

    False      class      finally    is         return
    None       continue   for        lambda     try
    True       def        from       nonlocal   while
    and        del        global     not        with
    as         elif       if         or         yield
    assert     else       import     pass
    break      except     in         raise

    3. 字符串

    单引号或双引号或三个引号包裹的内容

    name = 'root'
    name = "root"
    name = '''root'''
    name = """root"""

    3.1 加法

    n1 = 'hello'
    n2 = 'world'
    print(n1 + n2)

    3.2 乘法

    n1 = 'hello '
    print(n1 * 10) # 重复出现十次

    4. 数字

    a1 = 10
    a2 = 20
    
    a3 = a1 + a2
    a4 = a1 - a2
    a5 = a1 * a2
    a6 = a1 / a2
    a7 = 4**4 # 幂
    a8 = 40 % 3
    a9 = 40 // 3 # 商

    5. 条件语句

    5.1 if - else

    USER = 'root'
    PASSWORD = '123'
    
    user = input('请输入用户名:')
    password = input('请输入密码:')
    if user == USER:
        print('用户名正确')
        if password == PASSWORD:
            print('密码正确')
            print('登录成功')
        else:
            print('密码错误')
    else:
        print('用户名错误')

    5.2 if elif else

    user = input('请输入用户名:')
    if user == 'root':
        print('正确')
    elif user == 'admin':
        print('超级用户')
    else:
        print('用户名错误')

    5.3 条件语句中,不执行操作,使用pass

    5.4 and

    USER = 'root'
    PASSWORD = '123'
    user = input('请输入用户名:')
    password = input('请输入密码:')
    if user == USER and password == PASSWORD:
        print('登录成功')

    6. while

    死循环

    import time
    while True:
        print('ok', time.time())
    count = 0
    while count < 10:
        print('ok')
        count = 11
    print('done')
    count = 0
    while count < 10:
        count += 1
        print(count)

    练习题

    1.使用while 循环输出123456 8 9 10
    2.1-100 的所有数的和
    3.输出1-100内所有奇数
    4.输出1-100内所有偶数
    5.1-2+3-4+5 ...99 的所有书的和
    6.用户登录(3次机会重试)

    1.使用while 循环输出1,2,3,4,5,6,8,9,10

    n = 1
    while n < 11:
        if n != 7:
            print(n)
        n += 1

    2.求1-100 的所有数的和

    sum = 0
    n = 1
    while n < 101:
        sum += n
        n += 1
    print(sum)

    3.输出1-100内所有奇数

    n = 1
    while n < 101:
        if n % 2 != 0:
            print(n)
        n+=1

    4.输出1-100内所有偶数

    n = 1
    while n < 101:
        if n % 2 == 0:
            print(n)
        n+=1

    5.求 1-2+3-4+5 …99 的所有书的和
    for 循环

    sum = 0
    for i in range(100):
        if i % 2 == 0:
            sum = sum - i
        else:
            sum = sum + i
    print(sum)

    while 循环

    n = 1
    sum = 0
    while n < 100:
        if n % 2 == 0:
            sum -= n
        else:
            sum += n
        n += 1
    print(sum)

    6.用户登录(3次机会重试)

    USER = 'root'
    PASSWORD = '123'
    n = 0
    while n <=2:
        user = input('请输入用户名(root)):')
        password = input('请输入密码:')
        if user == USER:
            print('用户名存在')
            if password == PASSWORD:
                print('密码正确')
                print('登录成功')
                break
            else:
                n += 1
                print('密码错误次数: ', n)
        else:
            print('用户名不存在')
    展开全文
  • Pyton装饰器基础

    2018-12-03 10:57:05
    Pyton装饰器基础 在Python中,函数也是对象 为了理解装饰器,你必须首先理解,在Python中函数也是对象。 理解这个知识点很重要。让我们使用一个简单的例子来说明一下: def shout(word="yes"): return ...
  • Pyton入门的歪路

    千次阅读 2018-01-07 17:12:02
    项目需要,学习用Python写工程类控制算法。...从一开始的一周,了解云计算、云服务器、物联网套件等相关内容,到三周后看完pyton的官方教程https://docs.python.org/3/tutorial/index.html。了解了pyt
  • 一.pyton语言简介 1.解释型语言 2.交互式语言 3.面向对象 4.适合初学者 二.pyton语言特点 1.易于学习: 2.易于阅读: 3.易于维护: 4.一个广泛的标准库: 5.互动模式: 6.可移植: 7.可扩展: 8.数据库:Python提供...
  • pyton2.7安装完没有Scripts文件夹,可以运行python -m ensurepip自动安装
  • pyton实现二分查找

    2019-08-14 21:34:16
    pyton实现二分查找 搜索: 二分查找: 递归代码: def binary_search(alist,item): """二分查找""" low=0 n=len(alist) if n>0:#递归终止条件 mid=n//2 if item==alist[mid]: return True ...
  • 笔记-pyton内置数据类型 1. 简介 The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. 2. 操作 2.1. 真值测试 所有对象都可以做真值测试,可以在if 或...
  • 下面小编就为大家分享一篇Pyton中让两个值互换的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • pyton 封装

    2019-10-08 11:28:50
    定义:在类中将方法和属性隐藏起来 一、私有化 1、格式 __名字,在名字前加双下划线 2、私有化对象 ...在代码层次做了变形,在类的外部仍可通过 对象名或类命_类命__名字,来调用,不推荐使 ......
  • Pyton Loger

    2019-03-29 10:29:48
    转载: ...软件开发者在代码中调用日志函数,表明发生了特定的事件。事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地不同的数据)。事件还具有开发者归因于事件的重要...
  • <p>In Pyton language, if the block contains comments at the botton, even if the right indentation is set, the block does not collapse properly, and the comment keeps visible <p><strong>Expected ...
  • pyton unittest

    2018-11-08 15:54:00
    在说unittest之前,先说几个概念: TestCase 也就是测试用例 TestSuite多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到TestSuite中的 TestRunner是来执行测试用例的,测试的结果会保存到...
  • python3 100案例 pyton3 GUI等
  • pyton终端输出带颜色的命令行 1''' 2也就三个知识点 31.可以设置前景色,但是不能设置背景色 42.可以设置背景色,但是前景色只能是黑色 53.可以设置效果 61.0终端默认显示状态,加不加无影响 72.1高亮显示时,可以...
  • pyton 基础,运算符及字符类型。 一、python运算符:   二、数据类型:  1、数字:  int :整型  32位机器上一个整数取值范围为-2**31~2**31-1即-2147483648~2147483647  ...
  • 通过pyinstaller形成pyton3.8的可执行文件 问题 截至目前,python3.8还不能通过 pip install pyinstaller 的方式下载pyinstaller 解决方案 登录pyinstaller 网站 pyinstaller win选择第二栏第二个链接,Current ...
  • 实战 pyton多进程爬取知乎合集页面并保存 目标: 爬取知乎合集赞同超过10k的回答下的所有回答。 1.存入mongoDB数据库 2.以markdown存入文件夹 代码: #-*- coding:utf-8 -*- import requests from lxml import etree...
  • 1.安装pymongo model: $ wget ... $ tar xzf pymongo-2.3.tar.gz $ cd pymongo-2.3 $ python setup.py install ...2.执行pyton import pymon...
  • pyton高级语法

    2020-12-07 19:25:38
    1.map()与lambda函数 map(function,iterable...),对列表中的所有对象,执行相同的函数操作。 例如: map(lambda y:os.path.join(humanBody,y),os.listdir(humanBody)) #读取humanBody文件夹中的所有文件,并与...
  • Opencv-python教程——使用pyton-opencv画线段 第三章 使用pyton-opencv画线段 前言 在这一章的OpenCV与Python教程中,我们将介绍如何在你的图像和视频中绘制各种形状的图像。以某种方式标记探测到的对象是...
  • pyton 内置模块

    2020-10-21 16:46:40
    os模块 os.makedirs(‘dirname1/dirname2’) 可生成多层递归目录 os.removedirs(‘dirname1’) 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir(‘dirname’) 生成单级目录;...
  • 目标:pyton logging 实用 终端显示与保存本地 替代print 核心问题 优点 1、logging基本使用方法,通过log打印内容 2、同时实现打印效果与本地保存 3、解决多次运行出现重复内容的问题 5、写成可调用的方法 ...
  • 流畅的pyton 2.8 bisect(note) In [12]: import bisect HAYSTACK = [1, 4, 5, 6, 8, 12, 15, 20, 21, 23, 23, 26, 29, 30] NEEDLES = [0, 1, 2, 5, 8, 10, 22, 23, 29, 30, 31] fmt = '{0:2d} @ {1:2d} {2...
  • pyton中使用opencv完成图片的灰度处理 python源代码 import cv2 as cv #读取图片 img=cv.imread('01.jpg') #修改图片显示的大小 img=cv.resize(img,dsize=(720,960)) cv.imshow('read_img',img) #修改图片显示的...

空空如也

1 2 3 4 5 ... 20
收藏数 1,149
精华内容 459
关键字:

pyton