zoukankan      html  css  js  c++  java
  • 鱼C工作室《零基础入门学习Python》学习过程笔记记录第一天 001-010

    鱼C工作室练习题从第四节开始就要收费..
    习题在百度文库的链接如下:https://wenku.baidu.com/view/e6b8c88ecc175527072208d7.html?re=view
    在IDLE中Alt+p返回上一行



    001
    >>> print("I love yzw "*8)
    I love yzw
    I love yzw
    I love yzw
    I love yzw
    I love yzw
    I love yzw
    I love yzw
    I love yzw




    >>> print("I love yzw "+8)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: Can't convert 'int' object to str implicitly
    为什么用*是对的,用+是错的? 
    原因是python不允许完全不同的东西相加...它认为这种相加是无意义的。这和c++,java的可以转换形式再相加不同
    >>> print("你好"+"少年")  #字符串链接
    你好少年








    关于在命令行中直接输入和用print打印的区别
    >>> 5+8
    13
    >>> print(5+8)
    13




    >>> "I love yzw"
    'I love yzw'
    >>> print("I love yzw")
    I love yzw
    直接输入会显示类型和字符串
    print只显示字符串




    002.;
    003.


    命名规则:字母,数字,下划线,但是不能以数字开头(和C++命名规则相同)
    python区分大小写(和C++相同)




    >>> str='d:Python03'
    >>> print(str)
    d:Python #必须在前加转义字符才行
    >>> str=r'd:Python03'  #这个r会自动为添加转义字符,这在文件路径特别长的时候非常有效
    >>> print(str)
    d:Python03


    竟然有这样的写法
    str=("我爱鱼C"
    "正如我爱小于"
    "他那声音"
    "久久不肯散去")  #括号里面的字符串会自动连接成为一个字符串
    print(str)


    这样写相当于三引号
    str=("我爱鱼C "
    "正如我爱小于 "
    "他那声音 "
    "久久不肯散去 ")
    print(str)


    004.
    逻辑运算符: 
    and   相当于C++的&&

     or   相当于C++的||

    not 相当于C++的!(非)



    while 'c':
        print("我爱yzw")
    #这会打印无数次...因为‘c’的值为True
    >>> not'c'
    False


    >>> not 0 #0表示False
    True


    总的来说,在Python中
    0
    ‘’  #表示空字符
    None
    都表示False,其他为True


    005.
    3.14e10  #e相当于乘10
    >>> 3.14e10
    31400000000.0


    True用于计算时,相当于1
    False用于计算时,相当于0
    >>> True+True
    2
    >>> True+False
    1
    >>> True*True
    1
    >>> True*False
    0
    >>> True/False
    报错因为0不能做分母
    >>> False/True
    0.0


    Python中的类型:整型(int),浮点型(float),字符串(str),布尔型(bool)


    类型转换:
    >>> a='123'
    >>> b=int(a)
    >>> b
    123  #注意这里没有''说明它是一个整型
    >>> b=int('yzw')
    #报错,因为python里只能把只包含数字的字符串转化为整型,包含字母之类乱七八糟的通通不行


    >>> a=int(3.14)
    >>> a
    3
    #这里和C++一样,会舍去小数部分


    关于float()类型转换
    >>> a='3.14'
    >>> b=float(a)
    >>> b
    3.14
    >>> a='3'
    >>> b=float(a)
    >>> b
    3.0
    >>> a=3
    >>> b=float(a)
    >>> b
    3.0


    关于str()  #注意str是关键字
    >>> a=3.14
    >>> b=str(a)
    >>> b
    '3.14'


    type()函数 #用于判断类型
    >>> a=3
    >>> type(a)
    <class 'int'>
    >>> b=3.14
    >>> type(b)
    <class 'float'>
    >>> c='haha'
    >>> type(c)
    <class 'str'>
    >>> d='i'
    >>> type(d)
    <class 'str'>
    >>> e=True
    >>> type(e)
    <class 'bool'>


    instance()  #判断前面的元素和后面的类型关键字是匹配,即判断类型是否相同,但是第二个参数一定是类型关键字
    instance
    n 要求


    >>> isinstance('3.14',str)
    True
    >>> isinstance(3,int)
    True
    >>> isinstance(3,float)
    False
    >>> isinstance(True,bool)
    True


    一些函数

    为字符串   

    s.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。   

    s.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False。  

    s.isdigit()     所有字符都是数字,为真返回 Ture,否则返回 False。

    s.islower()    所有字符都是小写,为真返回 Ture,否则返回 False。   

    s.isupper()   所有字符都是大写,为真返回 Ture,否则返回 False。   

    s.istitle()      所有单词都是首字母大写,为真返回 Ture,否则返回 False。  

    s.isspace()   所有字符都是空白字符,为真返回 Ture,否则返回 False。




    006. 

    // (结果为整数的除法,即舍掉小数)

    >>> 5/3

    1.6666666666666667    #注意这和C++不同

    关于结果为整数的除法:#用//

    >>> 5//3     
    1

    >>> 5.0//3
    1.0


    **(幂运算符)

    >>> 2**2
    4
    >>> 2**3
    8
    >>> 2**4
    16


    -3表示负3 


    >>> 1<10<100    !!竟有这种操作   相当于 10>1 and 10<100
    True
    >>> 1<0<10
    False


    爱因斯坦曾出过这样一道有趣的数学题:

    有一个长阶梯,若每步上2阶,最后剩1阶;

    若每步上3阶,最后剩2阶;

    若每步上5阶,最后剩4阶;

    若每步上6阶,最后剩5阶;

    只有每步上7阶,最后刚好一阶也不剩。 

    源代码:

    i=7
    haha=0
    while haha==0:
        if(i%2==1 and i%3==2 and i%5==4 and i%6==5):
            haha=1
        else:
            i=i+7
    print(i)


    007.

    008.

    a=input("请输入分数")
    a=int(a)
    grade=''
    if(a>=90):
        grade='A'
    #elif(a>=80 and a<90):
    elif(80<=a<90):    !!!!和数学的写法相同,可用小于号连接
        grade='B'
    elif(80>a>=60):    !!!!和数学的写法相同,也可以用大于号连接
        grade='C'    
    else:
        grade='D'
        
    print(grade)


    D:Python>py 008.py
    请输入分数62
    C

    D:Python>py 008.py
    请输入分数82
    B


    >>> x,y=1,2
    >>> x
    1
    >>> y
    2

    三元操作符(这里是对C++中?: 的改写,但意思一样) 

    >>> a=1
    >>> b=2
    >>> small= a if a<b else b  #if后面的语句成立表达式的值为a的值,否则为b的值
    >>> small
    1
    >>> b=4
    >>> a=5
    >>> small=a if a<b else b
    >>> small
    4

    assert()

    如果assert(为False)

    程序会崩溃

    如果assert(为True)则会自动把这句忽略过去

    >>> assert(4<4)
    Traceback (most recent call last):
      File "<pyshell#11>", line 1, in <module>
        assert(4<4)
    AssertionError

    >>> assert(4<5)

    >>> (即:程序会跳过这里继续进行)


    x=1 y=2 z=3如何快速交换x,y,z?

    >>> x,y,z=1,2,3
    >>> x
    1
    >>> y
    2
    >>> z
    3
    >>> x,y,z=y,z,x
    >>> x
    2
    >>> y
    3
    >>> z
    1

    有了这个思路也可以交换两个数的值

    >>> a,b=1,2
    >>> a,b=b,a
    >>> a
    2
    >>> b
    1


    成员资格运算符:in

    用于检查一个元素是否在集合中,如果在返回True,如果不在返回False

    >>> a="我是蒟蒻"
    >>> b="蒟蒻"
    >>> b in a
    True
    >>> b="我"
    >>> b in a
    True


    009.

    for循环

    j="abcdefg"
    for i in j:
        print(i,end=" ")  #我终于知道怎么能不换行的有间隔的输出多个元素了

    D:Python>py 009.py
    a b c d e f g

    j="abcdefg"
    for i in j:
        print(i,end="    ")#第二个参数控制了间隔

    D:Python>py 009.py
    a    b    c    d    e    f    g  


    len(参数) 计算参数的长度

    a=["你是谁?","我是:","蒟蒻"]  #这里a是一个列表,注意[]
    for i in a :
        print(i,len(i))

    D:Python>py 009.py
    你是谁? 4
    我是: 3
    蒟蒻 2


    range生成一个列表

    a=range(1,5)
    print(a)

    D:Python>py 009.py
    range(1, 5)   #可见这样是没办法输出整个列表的


    a=list(range(1,5))  #类型转换
    print(a)

    D:Python>py 009.py
    [1, 2, 3, 4]


    for i in range(1,5):
        print(i)

    D:Python>py 009.py
    1
    2
    3
    4


    for i in range(5): #只有一个参数时,从零开始
        print(i) 


    D:Python>py 009.py
    0
    1
    2
    3
    4

    break,continue的用法和c++相同


    010.

    列表:打了激素的数组

    python没有数组,但有列表,它可以放进任何类型的数据(和C++必须放相同类型的数据不同,因为python变量没有类型)

    >>> jr=[1,'a',"hahaha"]
    >>> jr
    [1, 'a', 'hahaha']

    甚至列表中的元素也可以是列表

    >>> jr=[['hi','juruo'],'你好蒟蒻',1]
    >>> jr
    [['hi', 'juruo'], '你好蒟蒻', 1]

    可以创建一个空列表

    >>> jr=[]
    >>> jr
    []


    append()向列表中添加元素

    >>> jr=[]
    >>> jr
    []
    >>> jr.append("SB")
    >>> jr
    ['SB']

    >>> len(jr)
    1
    >>> jr.append("蒟蒻")
    >>> jr
    ['SB', '蒟蒻']
    >>> len(jr)
    2


    extend:向列表中加入另列表的所有元素

    >>> jr
    ['SB', '蒟蒻']

    >>> jr.extend([1,2,3])
    >>> jr
    ['SB', '蒟蒻', 1, 2, 3]


    列表和数组一样,序号是从0开始的

    insert()在制定位置插入元素

    >>> jr.insert(0,'sb') #第一个参数是位置,第二个参数是元素的值
    >>> jr
    ['sb', 'SB', '蒟蒻', 1, 2, 3]






  • 相关阅读:
    MySQL注入总结
    使用JavaScript扫描端口
    dvwa+xampp搭建显示乱码的问题:解决办法
    精读《12 个评估 JS 库你需要关心的事》
    TinyMCE上传图片word
    xhEditor上传图片word
    JAVA大文件(100G以上)的上传下载实现技术
    JAVA大文件(1G以上)的上传下载实现技术
    java 支持 超大上G,多附件上传问题
    java 支持 超大上G,多附件上传方法
  • 原文地址:https://www.cnblogs.com/iamjuruo/p/7470916.html
Copyright © 2011-2022 走看看