zoukankan      html  css  js  c++  java
  • (1)P_PY(草稿)

    目录:

      一、初识Python

        二、python2.x与python3.x的区别

      三、变量字符编码

      四、用户输入

      五、数据类型

      六、格式化输出

           七、if - else 循环

      八、while 循环

      九、for 循环

     一、Python 了解

      编程语言主要从以下几个角度为进行分类,编译型和解释型

                         静态语言和动态语言、

                                                         强类型定义语言和弱类型定义语言

    编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 

    解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.

    编译型
    优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
    缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

    解释型
    优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

    缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

    二、python与python3的区别

    (1)在python3里是默认就支持UTF8格式,不需要在程序开头表明

    (2)在python2里的 raw_input 就等于 3里的 input             raw_input  2.x == input 3.x

    以后慢慢补充:

    (3)某些库更改了名称

    三、变量字符编码

    1 #_*_coding:utf-8_*_
    2 # Author:land
    3 
    4 age_of_cat = 22
    5 name = "land"

    变量定义的规则:

        • 变量名只能是 字母、数字或下划线的任意组合
        • 变量名的第一个字符不能是数字
        • 以下关键字不能声明为变量名
    #驼峰体
    AgeOfOldboy = 56   #即首字母大写
    NumberOfStudents = 80
    #下划线(推荐使用)
    age_of_oldboy = 56 
    number_of_students = 80

    变量三要素:id,type,value

    #1 等号比较的是value,
    #2 is比较的是id
    
    #强调:
    #1. id相同,意味着type和value必定相同
    #2. value相同type肯定相同,但id可能不同,如下

    四、用户输入

    1 name = input("name:")
    2 age = int(input("age:"))    #类型转化
    3 print(type(age))
    4 job = input("job:")

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

    1 # Author:land
    2 import getpass
    3 username = input("username:")
    4 #password = getpass.getpass("password:")
    5 # getpass 在pycharm中不好使
    6 password = input("password:")
    7 
    8 print(username,password)

    五、数据类型

    1、数字

    2 是一个整数的例子。
    长整数 不过是大一些的整数。
    3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
    (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

    int(整型)

      在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
      在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    long(长整型)
      跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
      注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    float(浮点型)
          先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
      浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
    complex(复数)
      复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
    注:Python中存在小数字池:-5 ~ 257
     
    2、布尔值
      真或假
      1 或 0
    3、字符串
    "hello world"
    字符串拼接: 
    字符串格式化输出

    name = "land"

    print "i am %s " % name          
     
    #字符串是 %s;整数 %d;浮点数%f

    字符串常用功能:

    • 移除空白
    • 分割
    • 长度
    • 索引
    • 切片
    4、列表
    创建列表:
    1 name_list = ['gaogaofan', 'seven', 'eric']

    基本操作:

    • 索引
    • 切片
    • 追加
    • 删除
    • 长度
    • 切片
    • 循环
    • 包含

    5、元组(不可变列表)

    创建元组:
     1 ages = (11, 22, 33, 44, 55) 2
    3 ages = tuple((11, 22, 33, 44, 55)) 

    6、字典(无序)

    创建字典:
    1 person = {"name": "land", 'age': 22}
    2 3 person = dict({"name": "land", 'age': 22})
    # Author:land
    info = {
        'name':'gaofan',
        'hobbies':['basketball','eat','sleep'],
        'company_info':{
            'company_name':'EasyStack',
            'type':'OpenStack',
            'how_many_people':200,
        }
    }
    print(info) #打印信息
    print(info['company_info']['company_name'])  #取出公司名称
    
    students = [
        {'name':'gaogaofan','age':18,'sex':'famel','hobbies':['basketball','run','swamming']},
        {'name':'renrenji','age':19,'sex':'boy','hobbies':['eat','run']},
        {'name':'dadachang','age':20,'sex':'man','hobbies':['eat','sleep']},
    ]
    print(students)
    print(students[0])  #取出列表第一个元素
    print(students[0]['name'])  #取出第一个元素里的name
    print(students[0]['hobbies'][1])  #取出hobby里的run
    

    常用操作:

    • 索引
    • 新增
    • 删除
    • 键、值、键值对
    • 循环
    • 长度

    六、格式化输出

    #格式化输出
    #%s是占位符,可以接受字符串,也可以接受数字
    name='renjie'
    age='18'
    print('My name is %s and age is %s !!!'%(name,age))
    #%d数字占位符:只能接收数字
    print('My name is %s and age is %d !!!'%(name,age)) #会报错因为此时age是字符串
    
    name=input('your name>>:')
    age=input('your age>>:')
    job=input('your job>>:')
    hobby=input('hobby>>:')
    height=input('your height>>:')
    
    mes_g = '''
    ----------info is %s---------
    name : %s
    age : %s
    job : %s
    hobby : %s
    height : %s
    '''%(name,name,age,job,hobby,height)
    print(mes_g)
    

      七、if -----else 循环

    1、

    #练习一
    girle_age = 20 height = 170 weight = 110 if girle_age > 18: print('Helle,Can I add a WeChat?') else: print('Bye Bye') if girle_age >= 18 and height > 165 and weight == 110: print("Your are so beautifull !!!") else: print('Bye Bye ')
    #练习二
    9
    age_of_cat = 22 10 11 for i in range(3): 12 guess_age = int(input("guess age:")) 13 if guess_age == age_of_cat: 14 print("Yes,you got it") 15 break 16 elif guess_age > age_of_cat: 17 print("think smaller.....") 18 elif guess_age < age_of_cat: 19 print("think bigger....") 20 21 else: 22 print("You have tried too many times....fuck off!!!")
    #练习三
    today = input('>>:') if today == "Monday": print('Continue Work....') elif today == "Tuesday": print('Continue Work....') elif today == "Wednesday": print('Continue Work....') elif today == "Thursday": print('Continue Work....') elif today == "Friday": print('Continue Work....') elif today == "Saturday": print('See a movie....') elif today == "Sunday": print('On a Date....') else: print(''' Your must inpute one Monday to Sunday ''')
    #练习四:
    today = input('>>>:')
    if today == 'Saturday' or today == 'Sunday':
        print('Today is happy day.......')
    elif today == 'Monday' or today == 'Tuesday' or today == 'Wend' 
        or today == 'Thursday' or today == 'Fdjnvd':
        print('Working..............')
    else:
        print('''
        must inpute one day
        ''')
    
    #练习五
    1
    today = input('>>>:') 2 if today in ['Saturday','Sunday']: 3 print("today is happy ....") 4 elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']: 5 print('Today is a Work day ----') 6 else: 7 print('gun gun gun .............')

    八、while 循环

    1 # Author:land
    2 count = 0
    3 while True:
    4     print("count:",count)
    5     count = count + 1
    6     if count == 10:
    7         break           ##break用于退出本层循环

    #打印0-10
    count = 0
    while count <= 10:
        print('count:',count)
        count += 1
    
    #打印0-10之间的偶数
    while count <= 10:
        if count%2 == 0:
            print('count:',count)
        count += 1
    1 #打印0-10之间的奇数
    2 while count <=10:
    3     if count%2 == 1:
    4         print('conut:',count)
    5     count += 1
     1 #练习,要求如下:
     2     # 1 循环验证用户输入的用户名与密码
     3     # 2 认证通过后,运行用户重复执行命令
     4     # 3 当用户输入命令为quit时,则退出整个程序
     5 name = 'gaofan'
     6 passwd = 'zxcvbnm'
     7 while True:
     8     int_name = input('Inpute you name>>:')
     9     int_passwd = input('Inpute you passwd>>:')
    10     if int_name == name and int_passwd == passwd:
    11         while True:
    12             cmd = input('inpute you cmd>>:')
    13             if not cmd:
    14                 continue
    15             if cmd == 'q':
    16                 break
    17             print('run %s' %cmd)
    18     else:
    19         print('username or passwd is error !!!')
    20         continue
    21     break
     1 #使用tag
     2 name = 'gaofan'
     3 passwd = 'zxcvbnm'
     4 tag = True
     5 while tag:
     6     int_name = input('inpute your name>>>:')
     7     int_passwd = input('inpute your passwd>>>:')
     8     if int_name  == name and int_passwd == passwd:
     9         while tag:
    10             cmd = input('inpute you want cmd:')
    11             if not cmd:
    12                 continue
    13             if cmd == 'q':
    14                 tag = False
    15                 continue
    16             print('run %s...'%cmd)
    17     else:
    18         print("username or passd is error,please inpute again")
    1 #1. 使用while循环输出1 2 3 4 5 6 9 10
    2 count = 0
    3 while count <=9:
    4     count += 1
    5     if count == 7 or count == 8:
    6         continue
    7     print(count)

    count = 1
    while count <= 10:
    if count == 7:
    count += 1
    continue
    print(count)
    count +=
    1 #求1-100的所有数的和
    2 count = 1
    3 sum = 0
    4 while count <=100:
    5     sum += count
    6     count += 1
    7     print(sum)
    1 #3. 输出 1-100 内的所有奇数
    2 count = 1
    3 while count <= 100:
    4     if count%2 == 1: 
    5         print(count)
    6     count += 1
    1 #4. 输出 1-100 内的所有偶数
    2 count = 1
    3 while count <= 100:
    4     if count%2 == 0:     # 或者 if count%2 != 1
    5         print(count)
    6     count += 1
     1 #5. 求1-2+3-4+5 ... 99的所有数的和
     2 res = 0
     3 count = 1
     4 while count <= 99:
     5     if count%2 == 0:
     6         res -= count
     7     else:
     8         res += count
     9     count += 1
    10 print(res)
    View Code
     1 #6. 用户登陆(三次机会重试)
     2 count = 0
     3 while count < 3:
     4     name = input('name:')
     5     passd = input('passwd:')
     6     if name == 'gaofan' and passwd == 'zxcvbnm':
     7         print('login success...')
     8         break
     9     else:
    10         print('username or passwd is error.....')
    11         count += 1
    View Code
    1 #7要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
    2 girle_age = 18
    3 count = 0
    4 while count < 3:
    5     int_age = input('inpute you want age>>>:')
    6     if int_age == girle_age:
    7         print('login success......')
    8         break
    9     count += 1
    View Code
     1 #要求:允许用户最多尝试3次
     2 #    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y,
     3 #           就继续让其猜3次,以此往复,如果回答N或n,就退出程序
     4 #    如何猜对了,就直接退出程序
     5 
     6 girle_age = 18
     7 count = 0
     8 while True:
     9     if count == 3:
    10         choice = input('contuine inpute Y OR break inpute N >>>:')
    11         if choice == 'Y':
    12             count = 0
    13         elif choice == 'N':
    14             break
    15         else:
    16             print('please input Y or N....')
    17 
    18     guess = int(input('inpute you guess>>>:')) #注意把字符串转化为整型
    19     if guess == girle_age:
    20         print('you got it.....')
    21         break
    22     count += 1
    View Code
     1 #     让用户输入用户名密码
     2 #     认证成功后显示欢迎信息
     3 #     输错三次后退出程序 并打印错误提示:
     4 dic2 = {'name':'gaofan','passwd':'123456'}
     5 count = 0
     6 while count <= 3:
     7     if count == 3:
     8         print('You inpute error more three....')
     9         break
    10     int_name = input('Inpute your username>>>:')
    11     int_passwd = input('Inpute your passwd>>>:')
    12     if int_name == dic2['name'] and int_passwd == dic2['passwd']:
    13         print('loging success......')
    14         break
    15     else:
    16         count += 1
     1 #支持多个用户登录 (通过字典存多个账户信息)
     2 #用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(把用户锁定的状态存到文件里)
     3 
     4 #定义用多个户名密码
     5 dic={
     6     'renji':{'passwd':'zxcvbnm'},
     7     'gaofan':{'passwd':'zxcvbnm'},
     8     'dachang':{'passwd':'zxcvbnm'},
     9 }
    10 f = open('db.txt','r')
    11 lock_user = f.readlines()
    12 f.close()
    13 count = 0
    14 count1 = 0
    15 
    16 while True:
    17     int_name = input('Please inpute your name>>:')
    18     if count == 3:
    19         print('Too much inpute  and you already locked')
    20         break
    21     if not int_name in dic:
    22         print('username is error...!')
    23         count += 1
    24     if int_name in lock_user:
    25         print('username already locked...!!')
    26         exit()
    27 
    28     if int_name in dic:
    29         count -= 2
    30         int_passwd = input('Please inpute your passwd>>:')
    31         if int_passwd == dic[int_name]['passwd']:
    32             print('login success.....!')
    33             break
    34         else:
    35             print('secret is error...!!!')
    36             count1 += 1
    37         if count1 == 2:
    38             print('you inpute error times more than three, will be locked..eee!!!')
    39             f = open('db.txt','w')
    40             f.write('%s'%int_name)
    41             f.close()
    42             break

    九、for 循环

    1 # Author:land
    2 for i in range(0,10):
    3     if i < 5:
    4         print("loop",i)
    5     else:
    6         continue   
    #continue用于退出本次循环,继续下一次循环

     1 # Author:land
     2 # age_of_cat = 22
     3 # guess_age = int(input("guess age:"))
     4 #
     5 # if guess_age == age_of_cat:
     6 #     print("Yes,you got it")
     7 # elif guess_age > age_of_cat:
     8 #     print("think smaller.....")
     9 # elif guess_age < age_of_cat:
    10 #     print("think bigger....")
    11 
    12 age_of_cat = 22
    13 count = 0
    14 while count < 3:
    15     guess_age = int(input("guess age:"))
    16     if guess_age == age_of_cat:
    17         print("Yes,you got it")
    18         break
    19     elif guess_age > age_of_cat:
    20         print("think smaller.....")
    21     elif guess_age < age_of_cat:
    22         print("think bigger....")
    23     count += 1
    24     if count == 3:
    25         continue_confirm = input("do you wang continue guess?:")
    26         if continue_confirm != "n":
    27             count = 0
    28 
    29 
    30 #else:
    31 #   print("You have tried too many times....fuck off!!!")
    
    
    
     
  • 相关阅读:
    CSU 1333 Funny Car Racing
    FZU 2195 检查站点
    FZU 2193 So Hard
    ZOJ 1655 FZU 1125 Transport Goods
    zoj 2750 Idiomatic Phrases Game
    hdu 1874 畅通工程续
    hdu 2489 Minimal Ratio Tree
    hdu 3398 String
    洛谷 P2158 [SDOI2008]仪仗队 解题报告
    POJ 1958 Strange Towers of Hanoi 解题报告
  • 原文地址:https://www.cnblogs.com/lxqr/p/8504993.html
Copyright © 2011-2022 走看看