zoukankan      html  css  js  c++  java
  • Python随笔1

    • 一、变量

    1. 变量类型

    变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

            2.变量赋值

    • 每个变量在使用前必须赋值,赋值后该变量才会被创建;
    • 等号(=)用来给变量赋值;
    • 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
    • 1 # autor:guangqing xu
      2 counter =100 #赋值整数型变量
      3 miles = 1000.0 #浮点型
      4 name = "guangqing" #字符型
      5 print(counter)
      6 print(miles)
      7 print(name)

       

    • 3.交互程序
    • # autor:guangqing xu
      name=input("name:")
      age=int(input("age:"))
      job=input("job:")
      salary=input("salary:")
      
      info='''
      --------info of %s ----
      name %s
      age %d
      job %s
      salary %s
      '''%(name,name,age,job,salary)
      info2='''
      -------- info of {_name} -----
      name:{_name}
      age:{_age}
      job:{_job}
      salary:{_salary}
      '''.format(_name=name,_age=age,_job=job,_salary=salary)
      info3='''
      ------ info of {0} ----
      name:{0}
      age:{1}
      job:{2}
      salary:{3}
      '''.format(name,age,job,salary)
      print(info2)
    • 二、表达式 if ... else 

    • 1、场景1
    • # 提示输入用户名和密码
        
      # 验证用户名和密码
      #     如果错误,则输出用户名或密码错误
      #     如果成功,则输出 欢迎,XXX!
    • 1 # autor:guangqing xu
      2 _username = "guangqing"
      3 _password = "abc123"
      4 username = input("username:")
      5 password = input("password:")
      6 if _username==username and _password==password:
      7     print("Welcome user {name} login...".format(name=username))
      8 else:
      9     print("Invalid username or password!")
    • 1 import getpass
      2 name= raw_input("请输入用户名:")
      3 password = getpass.getpass("请输入密码:")
      4 if name=="guangqing" and password=="abc123":
      5     print("欢迎,guangqing")
      6 else:
      7     print("用户名和密码错误")
    • 3次输入错误则停止运行;
    • # autor:guangqing xu
      _username="guangqing"
      _password="abc123"
      #for i in range(0,3,1):  #循环3次
      count=0
      while count<3:
          user = input("user:")
          password = input("password:")
          if user == _username and password == _password:
              print("welcome user %s login" % user)
              break
          else:
              print("wrong username or password")
              count +=1
      print(user,password) #打印输入的内容
    • 场景二、猜年龄游戏
    • 1 # autor:guangqing xu
      2 age_of_qing=25
      3 guess_age=int(input("guess_age:"))
      4 if guess_age==age_of_qing:
      5     print("Congratulations, you got it !")
      6 elif guess_age < age_of_qing:
      7     print("think bigger!")
      8 else:
      9     print("think smaller!")
      外层变量,可以被内层代码使用
      内层变量,不应被外层代码使用
    • 三、表达式 for loop

    • 最简单的循环10次
    • # autor:guangqing xu
      for i in range(0,10,1): #1为步长
          print("loop:",i)
      
      输出:

      loop: 0
      loop: 1
      loop: 2
      loop: 3
      loop: 4
      loop: 5
      loop: 6
      loop: 7
      loop: 8
      loop: 9

      需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

    • # autor:guangqing xu
      for i in range(0,10,1):
          if i<5:
              continue  #不往下走了,直接进入下一次loop
      
    • 需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

    • # autor:guangqing xu
      for i in range(0,10,1):
          if i>5:
              break #不往下走了,直接跳出整个loop
          print("loop:",i)

       如何实现让用户不断的猜苹果个数,但只给最多3次机会,再猜不对就退出程序。

    • # autor:guangqing xu
      count_of_apple=25
      for i in range(0,3,1):
          guess_count=int(input("guess count:"))
          if guess_count==count_of_apple:
              print("恭喜你,猜对了....")
              break
          elif guess_count>count_of_apple:
              print("很遗憾,猜大了...")
          else:
              print("很不幸,猜小了...")
      else:
          print("猜这么多次都猜不对...")
    • 四、while loop

    • 循环100次退出
    • # autor:guangqing xu
      count=0
      while True:
          print("你的誓言永不变...",count)
          count +=1
          if count==100:
              print("没有什么是无穷尽的...",count)
              break
      # autor:guangqing xu
      count=0
      while count<100:
          print("你的誓言永不变...",count)
          count +=1
      else:
          print("没有什么是无穷尽的,除了时间...",count)
       

      回到上面for 循环的例子,如何实现让用户不断的猜苹果个数,但只给最多3次机会,再猜不对就退出程序。

    •  1 # autor:guangqing xu
       2 count_of_apple=25
       3 count=0
       4 while count<3:
       5     guess_count=int(input("guess count:"))
       6     if guess_count==count_of_apple:
       7         print("恭喜你,猜对了....")
       8         break
       9     elif guess_count>count_of_apple:
      10         print("很遗憾,猜大了...")
      11     else:
      12         print("很不幸,猜小了...")
      13     count +=1
      14 else:
      15     print("猜这么多次都猜不对...")
    • 五、模块初识
    • sys
    • # autor:guangqing xu
      import sys
      #print(sys.path) #打印环境变量
      print(sys.argv) #具体路径

      os

    • # autor:guangqing xu
      import os
      #cmd_res=os.system("dir") #执行命令,不保存结果
      cmd_res=os.popen("dir").read() #读出具体文件
      
      print("-->",cmd_res)
      os.mkdir("new_dir") #创建一个新目录

      完全结合一下 

    • import sys,os
      os.system("".join(sys.argv[1:]))#把用户的输入的参数当作一条命令交给os.system来执行
    •  六、列表、元组操作

    • 切片:取多个元素
    • names=["#guangqing","Jiale","3fengfei","xiahui","zhangliao","xiahui"]
      
      #print(names[0],names[2])
      #print(names[-1]) #切片 取最后一个值
      #print(names[-2:]) # 切片 取最后两个值
      #print(names[0:3]) #切片 取下标0至下标3之间的数字 包含0,不包含4
      #print(names[:3]) #切片 取下标0至下标3之间的数字 包含0,不包含4

      追加、插入、修改

    • names=["#guangqing","Jiale","3fengfei","xiahui","zhangliao","xiahui"]
      names.append("zhangfei")  #追加 到最后
      names.insert(1,"zhugeliang") #插入指定的位置 强行在Jiale前面插入
      names[2]="lixiaolong"  # 修改
      print(names)

      删除

    • # autor:guangqing xu
      names=["#guangqing","Jiale","3fengfei","xiahui","zhangliao","xiahui"]
      #delete
      names.remove("guangqing") #删除 guangqing
      del names[2] =names.pop(2)    #删除指定位置
      names.pop()    #删除最后一个
      names.pop(0)

      拓展

    • names=["#guangqing","Jiale","3fengfei","xiahui","zhangliao","xiahui"]
      names2=[1,2,3,4]
      names.extend(names2)  #把names2 数据 合并到names
      print(names,names2)
      
      ['#guangqing', 'Jiale', '3fengfei', 'xiahui', 'zhangliao', 'xiahui', 1, 2, 3, 4] [1, 2, 3, 4]

      拷贝

    • import copy
      names=["#guangqing","Jiale","3fengfei","xiahui",["hongjun","jim"],"zhangliao","xiahui"]
      names2=names.copy() #将names 数据复制到names2
      #names2=names
      #names2=copy.deepcopy(names)
      print(names)
      print(names2)
      names[2]="许先生" #names 更改 names2 未更改
      names[4][0]="qingge" #names/names2 均更改;调用 import copy ---    deepcopy  names更改,names2不更改
      print(names)
      print(names2)
      
      ['#guangqing', 'Jiale', '3fengfei', 'xiahui', ['hongjun', 'jim'], 'zhangliao', 'xiahui']
      ['#guangqing', 'Jiale', '3fengfei', 'xiahui', ['hongjun', 'jim'], 'zhangliao', 'xiahui']
      ['#guangqing', 'Jiale', '许先生', 'xiahui', ['qingge', 'jim'], 'zhangliao', 'xiahui']
      ['#guangqing', 'Jiale', '3fengfei', 'xiahui', ['qingge', 'jim'], 'zhangliao', 'xiahui']
      
      Process finished with exit code 0

      统计、排序&翻转

    • names=["#guangqing","Jiale","3fengfei","xiahui","zhangliao","xiahui"]
      #names.clear() #清空
      #names.reverse() #反转
      #names.sort()    #排序 特殊符号--数字--大写-小写
      print(names)

       2、字符串操作

    • 特性:不可修改 
    • # autor:guangqing xu
      name = "my 	name is {name} and i am {year} old"
      print(name.capitalize()) #首字母大写
      print(name.center(50,"-")) #中心 输出------my     name is {name} and i am {year} old------
      print(name.count("a")) #统计a 出现的次数
      print(name.endswith("ld")) #判断"结尾" 是否 以ld结束
      print(name.expandtabs(tabsize=30)) #输出my                            name is {name} and i am {year} old
      print(name[name.find("name"):]) #输出name is {name} and i am {year} old
      print(name.format(name="guangqing",year=25)) #输出my     name is guangqing and i am 25 old
      print(name.format_map({"name":'jiale','year':'23'})) #输出my     name is jiale and i am 23 old
      print("ab123".isalnum()) #字符测试 是否是字母和数字
      print("abC".isalpha()) #是否全部是字母
      print('1'.isdecimal())#是否整数
      print('1q'.isdigit()) #是否整数 较为常用
      print('a 1A'.isidentifier()) #判读是不是一个合法的标识符
      print('33a'.isnumeric()) #判断是否为数字
      print('My Name Is  '.istitle()) #判断是否为标题(是否只有首字母为大写
      print('guangqing xu'.title()) #将首字母改成大写 输出Guangqing Xu
      print('My Name Is  '.isprintable()) #tty file ,drive file 是否可打印
      print('My Name Is  '.isupper()) #是否为大写字母(所有)
      print('+'.join(['1','2','3','4'])) #输出 1+2+3+4
      print(name.ljust(50,"-"))#my     name is {name} and i am {year} old------------
      print(name.rjust(50,"-")) #------------my     name is {name} and i am {year} old
      print("GUangqing xu".lower()) #全部转换成小写字母
      print("GUangqing xu".upper()) #全部转换成大写字母
      print('
      guangiqng'.lstrip()) #删除左回车
      print( '
      guangqing
      '.rstrip()) #删除右回车
      print( ' 
      guangqing
      '.strip()) #左右回车均删除
      p=str.maketrans('abcdefri','123@#678')
      print("defria".translate(p)) #对defria 进行翻译 输出@#6781
      print("guangqing xu".replace('g','G',1)) #对第一次出现g的地方更改成G
      print('guangqing lil'.rfind('l')) #最右边出现l 的位置 输出12
      print('1+2+3+4'.split('
      ')) #输出 ['1+2+3+4']
      print('1+2
      +3+4'.splitlines()) #分割线 输出 ['1+2', '+3+4']
      print('guangqing xu'.swapcase()) #全部转换成大写字母
      print('lex li'.title()) #首字母大写
      print('guangqing xu'.zfill(50)) #输出00000000000000000000000000000000000000000000lex li
      print( '---')
    Made by Guangqing Xu
  • 相关阅读:
    Uva 10282 Babelfish
    Uva 10340 All in All
    Uva 11218 KTV
    Uva 193 Graph Coloring
    Uva 141 The Spot Game
    Uva 140 Bandwidth
    C#操作注册表(转)
    定位网站目录的各个符号的含义
    asp.net中错误:"The state information is invalid for this page and might be corrupted."
    用JavaScript获取客户端MAC地址(转)
  • 原文地址:https://www.cnblogs.com/jialexu/p/9564483.html
Copyright © 2011-2022 走看看