pythonl练习

折月煮酒 提交于 2020-02-28 14:05:05
练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ 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 = '''aaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb'''print(a)name = 'aaa'aaa='17'name+aaaa=[['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=3b=5print(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 ------>CEOtest ------>CTOtom ,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=20test = 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('阿姨好')

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!