pythonl练习
练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ 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('阿姨好')
pythonl练习的更多相关文章
- pythonl输出的预警消息中的json串的中文展示乱码(中文的unicode码)
来源:ctrip接口名称:ReviewStandartAPI错误信息:[{'ReviewTime': u'\u63a5\u53e3\u8fd4\u56de\u7684\u70b9\u8bc4\u65f ...
- pythonl类继承例子
#coding=utf-8 class Person(object): def __init__(self,name,age): self.name=name sel ...
- pythonl学习笔记——爬虫的基本常识
1 robots协议 Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...
- pythonl练习笔记——爬虫的初级、中级、高级所匹配的知识
1 初级爬虫 (1)Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等: (2)正则表达式,能提取正常一般网页中想要的信息,比 ...
- pythonl练习笔记——PythonNet 套接字socket
1 套接字socket 1.1 套接字概述 套接字,一种网络通讯工具:用于进行网络间的通信,是一种特殊文件类型, 套接字,是一个通信链的句柄,用于描述IP地址和端口,实现向网络发出请求或应答网络请求. ...
- pythonl练习笔记——threading线程中的事件Event
1 事件Event 使用方法:e = threading.Event() Event对象主要用于线程间通信,确切地说是用于主线程控制其他线程的执行. Event事件提供了三个方法:wait等待.cle ...
- pythonl练习笔记——threading创建进程锁Lock()
1 基本概述 采用threading.Lock()对象创建锁lock,即 lock = threading.Lock() 其相关方法主要有 lock.acquire() # lock the lock ...
- pythonl练习笔记——python线程的GIL
python线程中的全局解释器锁GIL(Global Interpreter Lock) python-->支持多线程-->同步和互斥-->加锁-->解释器加锁-->解释 ...
- pythonl练习笔记——multiprocessing 多进程拷贝文件
分两份拷贝文件,父进程拷贝文件的前半部分,子进程拷贝文件的后半部分. import os import time #获取文件大小 size = os.path.getsize('wait.py') # ...
随机推荐
- CentOS 访问 Windows 共享目录
起因 由于公司的网络切换后,将所有的服务器都切换到了指定的网段(工作电脑在一个网络,服务器在另一个网络:这样一来,不同部门的 work stations 可以彼此访问,不同部门的服务器(servers ...
- C#中的ToString格式大全
// C# 日期格式 DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString() ...
- 完整版百度地图点击列表定位到对应位置并有交互动画效果demo
1.前言 将地图嵌入到项目中的需求很多,好吧,我一般都是用的百度地图.那么今天就主要写一个完整的demo.展示一个列表,点击列表的任一内容,在地图上定位到该位置,并有动画效果.来来来,直接上demo ...
- Python爬虫从入门到放弃(二十一)之 Scrapy分布式部署
按照上一篇文章中我们将代码放到远程主机是通过拷贝或者git的方式,但是如果考虑到我们又多台远程主机的情况,这种方式就比较麻烦,那有没有好用的方法呢?这里其实可以通过scrapyd,下面是这个scrap ...
- 敏捷开发之产品日日新,一步通之---自动化代码构建->自动化打包->自动化安装部署
本文将介绍如何自动化实现代码构建,自动化代码打包成exe安装包,自动化安装到测试环境.通过计划任务的方式,每天自动化发布最新的产品供老板展示,供测试人员使用,真正实现敏捷的快速迭代. 自动代码构建 自 ...
- 程序设计入门——C语言 习题汇总
<img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...
- 对于JavaScript中this关键字的理解
这是我第二遍学this了,第一遍学的懵懵的.this指哪里都是凭我一个男人的直觉然后控制台输出看看对不对. 刚查了书.博客.视频.理解差不多了.毕竟菜鸡me: 一.首先介绍下什么是this this是 ...
- The ways to kill Oracle session
As we all known ,its the normal way to use the SQL 'alter system kill 'sid,serial#'' to kill a ses ...
- Jmeter 参数化请求实例
Jmeter 参数化请求实例 在jmeter中的请求可以参数化,其中参数化的方式有4种: 1.CSV Data Set Config 2.数据库 3.用户自定义变量 4.用jmeter中的函数获取参数 ...
- Linux操作系统-命令-netstat
# 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...