第一篇 变量、流程控制

2018-06-14  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读