美文网首页
第一篇 变量、流程控制

第一篇 变量、流程控制

作者: 张大志的博客 | 来源:发表于2018-06-14 13:46 被阅读0次

    一、变量

    Crtl+ /在pycharm里可以注释
    定义一个变量会有三个特征,id,type,value
    print(id(name),type(name),name)
    变量的命名方式
    1、驼峰体
    AgeOfOldboy=73
    2、下划线
    Age_of_oldboy=73  #推荐此种方式
    常量可以通过大写的方式提示是常量,一般不改,但不是真正不能改,只是提示最好不要改
    AGE_OF_OLDBOY=73
    print(AGE_OF_OLDBOY)
    

    二、用户与程序交互

    #coding:utf-8
    input('请输入你的用户名:')
    input可以交互式的定义变量,在python3中的input无论用户输入何种类型,都会存成字符串类型
    name=input('please input your name: ')
    print(id(name),type(name),name)
    在python2中的raw_input和python3中的input是一样,也是存成字符串,并且在文件的开头要加上#coding:utf-8
    name=raw_input('please input your name:')
    print(id(name),type(name),name)
    在python2中的input,用户必须输入值,输入的值是什么类型,就存成什么类型,比如输入’eagle’
    name=input('please input your name: ')
    print(id(name),type(name),name)
    

    三、基本数据类型

    整形
    浮点型
    字符串:放到单引号、双引号或者三引号中都可以,没有区别
    #字符串拼接
    #只能字符串之间拼接,并且只能+和*
    name='egon'
    msg='hello'
    age=18
    print(name+msg+str(age))如果是整形类型要转化为字符串类型才能拼接
    print(name*10)表示重复10次
    #列表:定义在[]内,用逗号分隔开的多个元素,每个元素可以是任意类型
    hobbies=['play','read','music','movie']
    print(hobbies[3])从左往右取
    print(hobbies[-1])从右往左取
    print(type(hobbies))
    l=[1,1.3,'egon',['a','b']]
    print(l[3][1])#列表里面嵌套列表,这里表示取b
    #字典:定义在{}内,用key=value的形式表示一个元素,用逗号分隔开
    info={'id':123123123,'name':'egon','sex':'male','hobbies':['read','music']}
    print(info['name'])
    print(info['hobbies'][1])
    #布尔类型:
    print(type(True))
    AGE=73
    age=18
    print(age>AGE)
    print(age<AGE)
    #可变or不可变
    可变:值变,id不变,可变==不可hash
    不可变:值变,id就变,不可变==可hash
    

    四、格式化输出

    name=input("user_name>>:")
    age=input("user_age>>:")
    print('my name is %s,my age is %s' %(name,age))
    print('my name is %s,my age is %s' %('egon',18))
    print('my name is %s,my age is %d' %('egon',18))
    print('my name is %s,my age is %d' %('egon','18'))#这种格式就不可以,因为%d代表的是整形的占位符
    

    总结:%s和%d都可以作为占位符,但代表的含义不一样,一个是字符串的占位符一个是整形的占位符
    五、基本运算符

    算术运算
    a=100
    b=31
    print(a+b)
    print(a-b)
    print(a*b)
    print(a/b)#真正的除法,有整数,有小数
    print(a//b)#地板除,只取整数部分
    a=10
    b=3
    print(a%b)取余
    print(3**2)乘方
    比较运算
    age=73
    print(age>30)
    print(age<30)
    print(age !=73)
    print(age == 73)
    赋值运算
    height=180
    height+=1 #height=height+1
    print(height)
    逻辑运算符
    age=11
    name='egon'
    print(age>10 and name == 'egon11')
    print(age > 10 or name == 'engon11')
    print(not age  > 10)
    

    六、流程控制之if..else

    age=input('>>:')
    age=int(age)
    if age > 30:
        print('叫阿姨')
    else:
        print('叫妹妹')
    sex=input('>>:')
    age=int(input('>>:'))
    is_pretty= bool(input('>>:'))
    if  sex == 'female' and age > 18 and age < 30 and is_pretty == True:
        print('表白中')
    else:
        print('叫阿姨')
    #if嵌套
    age=int(input('age>>:'))
    sex=input('sex>>:')
    is_pretty=bool(input('is_pretty>>:'))
    success=True
    if sex == 'female' and age > 18 and age < 30 and is_pretty == True:
        if success:
            print('在一起')
        else:
            print('什么爱情')
    else:
        print('叫阿姨')
    #if 多分支
    score=int(input('your score>>:'))
    if score >=90:
        print('优秀')
    elif score >=80:
        print('良好')
    elif score >=70:
        print('及格')
    else:
        print('太差')
    

    七、流程控制之while循环

    AGE_OF_OLBOLY=73
    guess=int(input('>>:'))
    if guess > AGE_OF_OLBOLY:
         print('太大了')
    elif guess < AGE_OF_OLBOLY:
         print('太小了')
    else:
        print('蒙对了')
    #while:条件循环
    #while 条件:
    # 循环体
    count=0
    while count < 3:
        print('loop',count)
        count+=1
    while True:
        print('ok')
    #break:跳出本层循环
    count=0
    while True:
        if count > 100:
            break
        print(count)
        count+=1
    #continue:跳出本次循环
    count=0
    while count <= 10:
        if count == 7:
          count+=1
          continue
        print(count)
        count+=1
    #while+else:while正常结束了,没有被break打断,才会这行这里的代码,基本不用
    count=0
    while count <= 10:
        # if count == 3:
        #   break
        print(count)
        count+=1
    else:
        print('while 正常结束了,没有被break打断,才会这行这里的代码')
    
    name='egon'
    password='alex3714'
    count=0
    while count < 3:
        u=input('u>>:')
        p=input('p>>:')
        if u == name and p == password:
            print('login sucesful')
            break
        else:
            print('user and password err')
            count+=1
    
    name='egon'
    password='alex3714'
    count=0
    while True:
        if count == 3:
            break
        u=input('u>>:')
        p=input('p>>:')
        if u == name and p == password:
            print('login sucesful')
            break
        else:
            print('user and password err')
            count+=1
    
    name='egon'
    password='1'
    count=0
    while True:
        if count == 3:
            break
        u=input('u>>:')
        p=input('p>>:')
        if u == name and p == password:
            print('login sucesful')
            while True:
                cmd=input('>>:')
                if cmd == 'quit':
                    break
                print("run %s" % cmd)
            break
        else:
            print('user and password err')
            count+=1
    
    name='egon'
    password='1'
    count=1
    tag=True #也可以用定义tag的方式来跳出本层循环,或者多层循环,不用像上面的例子一样用多个break
    while tag:
        if count == 2:
            break
        u=input('u>>:')
        p=input('p>>:')
        if u == name and p == password:
            print('login sucesful')
            while tag:
                cmd=input('>>:')
                if cmd == 'quit':
                    tag=False
                print("run %s" % cmd)
        else:
            print('user and password err')
            count+=1
    

    相关文章

      网友评论

          本文标题:第一篇 变量、流程控制

          本文链接:https://www.haomeiwen.com/subject/ewcyeftx.html