练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Egon -----------
Name  : Egon
Age   : 22
Sex   : male
Job   : Teacher 
------------- end -----------------

name=input('请输入用户名: ')
age=input('请输入年龄: ')
sex=input('请输入性别: ')
aihao=input('请输入爱好: ')
a='''
|-------杨天生个人信息--------|
| 名字: %s |
| 年龄: %s |
| 性别: %s |
| 爱好: %s |
|-----------------------------|
'''%(name,age,sex,aihao)

print(a)
运行的结果

-----------------------

------------------------------列表
a = '''
aaaaaaa
aaaaaaa
bbbbbbbbbb
bbbbbbbbb
'''
print(a)
name = 'aaa'
aaa='17'
name+aaa
a=[['yts',20], ['aihao']]
print(a[1])
--------------------------------------字典
aaa=[
{'name':'yts','nianling':['20','22'],'aihao':['篮球','旅游']},
{'name': 'wjy', 'nianling':18, 'aihao': ['看书','旅游']},
{'name': 'yct', 'nianling':20, 'aihao': ['游戏','台球']},
]
print(aaa[0]['nianling'][0]) #取第1列的年龄第1个
print(aaa[1]['aihao'][1]) #取第二列的爱好第二个 #在python中数字排序都是从0开始的 所以0代表第一位
print(aaa[1]['name']) #取第二列的 姓名

b={
'姓名':'杨天生',
'爱好':['篮球','台球'],
'公司信息':{
'公司名称':'淘宝',
'类型':'购物',
'号码':['110','120'],
}
}
print(b['name'])
print(b['公司信息']['公司名称']) #取公司名称
print(b['公司信息']['号码'][1]) #取公司第几个号码
print(b['爱好'][1]) 取爱好第几个
------------------------------------------------------

------------------------------------布尔
true=真 false=假
a=3
b=5
print(a > b) #-----False 假
print(a < b) #----True 真
if a > b
print(a is bigger than b )
else
print(a is smaller than b )
1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)
-------------------------------------------------------
-------------------------格式化输出
print('姓名:%s, 年龄:%d ' %('yts',11)), # --------%s字符串占位符:可以接收字符串,也可接收数字
----------------%d数字占位符:只能接收数字

@age=input('your age: ')
print('My name is %s,my age is %s' %(name,age))
print('My name is %s,my age is %d' %(name,age)) #----用户输入18,会存成字符串18,无法传给%d #age为字符串类型,无法传给%d,所以会报错
#---------------流程控制if....else

   既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟。人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了。对于逻辑运算,即人根据外部条件的变化而做出不同的反映,比如

    1 如果:女人的年龄>30岁,那么:叫阿姨

age_of_girl=31
if age_of_girl > 30:
    print('阿姨好')

    2 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐

age_of_girl=18
if age_of_girl > 30:
    print('阿姨好')
else:
    print('小姐好')

    3 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨

复制代码
age_of_girl=18
height=171
weight=99
is_pretty=True
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
    print('表白...')else:
    print('阿姨好')

如果:成绩>=90,那么:优秀

       如果成绩>=80且<90,那么:良好

       如果成绩>=70且<80,那么:普通

       其他情况:很差

a=input('请输入你的成绩: ')
a=int(a)
if a >= 90:
print('优秀')
elif a >= 80:
print('良好')
elif a >= 70:
print('一般')
else:
print('不及格')

  if 条件1:

    缩进的代码块

  elif 条件2:

    缩进的代码块

  elif 条件3:

    缩进的代码块

  ......

  else:  

    缩进的代码块

-----------
简单的输入用户名
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name=input('请输入用户名: ')
password=input('请输入密码: ')
if name == 'yts' and password == '123':
print('输入正确')
else:
print('输入的用户名和密码都不正确baye')
--------------------------
根据用户输入内容输出其权限
'''
yts ------>CEO
test ------>CTO
tom ,nick------->CKO
其他 ------->员工
'''
name=input('请输入用户名字: ')
if name == 'yts':
print('CEO')
elif name == 'test':
print('CTO')
elif name == 'tom' or name == 'nick':
print('CKO')
else:
print('员工')

-----------------------
# 如果:今天是Monday,那么:上班
# 如果:今天是Tuesday,那么:上班
# 如果:今天是Wednesday,那么:上班
# 如果:今天是Thursday,那么:上班
# 如果:今天是Friday,那么:上班
# 如果:今天是Saturday,那么:出去浪
# 如果:今天是Sunday,那么:出去浪


#方式一:
today=input('>>: ')
if today == 'Monday':
    print('上班')
elif today == 'Tuesday':
    print('上班')
elif today == 'Wednesday':
    print('上班')
elif today == 'Thursday':
    print('上班')
elif today == 'Friday':
    print('上班')
elif today == 'Saturday':
    print('出去浪')
elif today == 'Sunday':
    print('出去浪')
else:
    print('''必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ''')

#方式二:
today=input('>>: ')
if today == 'Saturday' or today == 'Sunday':
    print('出去浪')

elif today == 'Monday' or today == 'Tuesday' or today == 'Wednesday' \
    or today == 'Thursday' or today == 'Friday':
    print('上班')

else:
    print('''必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ''')


#方式三:
today=input('>>: ')
if today in ['Saturday','Sunday']:
    print('出去浪')
elif today in ['Monday','Tuesday','Wednesday','Thursday','Friday']:
    print('上班')
else:
    print('''必须输入其中一种:
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
    ''')

-----------------------
流程控制之while循环
为何要用循环语句
#上节课我们已经学会用if .. else 来猜年龄的游戏啦,但是只能猜一次就中的机率太小了,如果我想给玩家3次机会呢?就是程序启动后,玩家最多可以试3次,这个怎么弄呢?你总不会想着把代码复制3次吧。。。。
复制代码

nick=20
test = int (input('请输入你要猜测的数字: '))
if test > nick:
print('太大了')
elif test < nick:
print('太小啦')
else:
print('答对了')
#即使是小白的你,也觉得的太low了是不是,以后要修改功能还得修改3次,因此记住,写重复的代码是程序员最不耻的行为。
那么如何做到不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦

    2 条件循环:while,语法如下

while 条件:    
    # 循环体
 
    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止
#打印0-10
count=0
while count <= 10:
    print('loop',count)
    count+=1

#打印0-10之间的偶数
count=0
while count <= 10:
    if count%2 == 0:
        print('loop',count)
    count+=1

#打印0-10之间的奇数
count=0
while count <= 10:
    if count%2 == 1:
        print('loop',count)
    count+=1
死循环
# import time
# a=0
# while True:
# print('count',a)
# time.sleep(1)
# a+=1
------------------
#练习,要求如下:
    1 循环验证用户输入的用户名与密码
    2 认证通过后,运行用户重复执行命令
    3 当用户输入命令为quit时,则退出整个程序 
复制代码
#实现一:
name='egon'
password='123'

while True:
    inp_name=input('用户名: ')
    inp_pwd=input('密码: ')
    if inp_name == name and inp_pwd == password:
        while True:
            cmd=input('>>: ')
            if not cmd:continue
            if cmd == 'quit':
                break
            print('run <%s>' %cmd)
    else:
        print('用户名或密码错误')
        continue
    break

#实现二:使用tag
name='egon'
password='123'

tag=True
while tag:
    inp_name=input('用户名: ')
    inp_pwd=input('密码: ')
    if inp_name == name and inp_pwd == password:
        while tag:
            cmd=input('>>: ')
            if not cmd:continue
            if cmd == 'quit':
                tag=False
                continue
            print('run <%s>' %cmd)
    else:
        print('用户名或密码错误')
复制代码
 

    4 break与continue

复制代码
#break用于退出本层循环
while True:
    print "123"
    break
    print "456"

#continue用于退出本次循环,继续下一次循环
while True:
    print "123"
    continue
    print "456"


-------------------------

   5 while+else

--------------------

十四 流程控制之for循环

1 迭代式循环:for,语法如下

  for i in range(10):

    缩进的代码块

2 break与continue(同上)

3 循环嵌套

for i in range(1,100):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
----------------

基础需求:

  • 让用户输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后退出程序

 

复制代码
dic={
    'egon1':{'password':'123','count':0},
    'egon2':{'password':'123','count':0},
    'egon3':{'password':'123','count':0},

}


while True:
    name=input('username>>: ')

    if not name in dic:
        print('用户不存在')
        continue
    if dic[name]['count'] > 2:
        print('尝试次数过多,锁定')
        continue

    password=input('password>>: ')


    if password == dic[name]['password']:
        print('登录成功')
        break
    else:
        print('用户名或密码错误')
        dic[name]['count']+=1
复制代码
#与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0
while count <= 5 :
    count += 1
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------

#如果执行过程中被break啦,就不会执行else的语句啦
count = 0
while count <= 5 :
    count += 1
    if count == 3:break
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")
输出

Loop 1
Loop 2
-----out of while loop ------
复制代码
复制代码
#在表白的基础上继续:
#如果表白成功,那么:在一起
#否则:打印。。。

age_of_girl=18
height=171
weight=99
is_pretty=True

success=False

if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
    if success:
        print('表白成功,在一起')
    else:
        print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊...')
else:
    print('阿姨好')