python基础练习
任务一: 打印Hello word
任务描述
要求1:我的第一个程序打印Hello word,
要求2:打印 你好 世界 , 两个词之间用 , 逗号隔开, ! 结尾
要求3: 打印 我喜欢Python 与后面代码隔2行
要求3: 打印 两句话 名字:张三 , 年龄20 两句话之间不换行
print("hello,word") print("我喜欢python") print("名字:张三") print("年龄:20")
任务二: 打印身份认证系统菜单
print("========================") print("=\t\t欢迎进入身份认证系统v1.0") print("=1.登录") print("=2.退出") print("=3.认证") print("=4.修改密码") print("========================")
任务三: 实现用户登录和展示
任务描述
编写程序,从键盘获取用户名和密码,然后判断如果正确(默认用户名和密码分别是admin,123)输出 亲爱的xxx,欢迎登陆学习管理系统
验收标准
1. 能获取用户输入的信息
2. 按照格式展示用户资料
name = input("请输入名字") pwd = input("请输入密码") if(name == "tom" and pwd =="123"): print("欢迎tom登录学习系统") else: print("无法进入")
任务四: 编写用户信息录入和展示程序
任务描述
编写程序,从键盘获取一个人的信息,然后按照下面格式显示
name = input("请输入名字") qq = input("请输入qq") phone = input("请输入电话号") address = input("请输入公司地址") print("名字:%s,qq号:%s,电话:%s,地址:%s"%(name,qq,phone,address))
练习2
任务一: 变量命名相关概念介绍
任务描述
说出变量名字,可以由哪些字符串组成
介绍变量名规则
说出什么是驼峰命名法(大驼峰,小驼峰)
变量名由:字母数字下划线或中划线组成,,首字母一定不能是数字!
变量命名规则:
1. 首字母不能是数字 2. 区分大小写
3. 可以重名(弱数据语言) 4. 不能和关键字冲
5. 建议使用驼峰命名法(首字母小写,每个新单词首字母大写)
驼峰命名法介绍:
1. 大驼峰:首字母和每个新单词首字母都大写! 2. 小驼峰: 首字母小写,每个新单词首字母大写
任务二: 求两个数字的和
任务描述
定义两个变量保存两个数字,两个数进行四则运算和取余.并打印结果!
num1 = 10; num2= 3 result1 = num1+num2; result2= num1-num2 result3= num1*num2 result4= num1/num2 result5= num1%num2 print('四则运算结果',result1,result2,result3,result4,result5,sep=',')
任务三: 简单计算器实现加法
任务描述
控制台输入2个数字,控制台打印用户输入的两个数字的和!
num1 = input('请输入第1个数字:') num2 = input('请输入第2个数字:') result = int(num1)+int(num2) print("结果",result)
任务三: 实现两个变量值交换
任务描述
定义两个变量保存数据,交换两个变量的值.使用两种方案实现
num1 = input('请输入第1个数字:') num2 = input('请输入第2个数字:') result = int(num1)+int(num2) print("结果",result)
任务三: 简单计算机-四则运算
任务描述
控制台输入2个数字,和运算符号,控制台打印用户输入的两个数字的运算结果!
num1 = int(input('请输入第1个数字:')) num2 = int(input('请输入第2个数字:')) fuhao = input('请输入运算符符号:') result =0 if fuhao =='+': result = num1+num2 elif fuhao=='-': result = num1-num2 elif fuhao == '*': result = num1 * num2 elif fuhao == '/': result = num1 / num2 print('结果:',result)
练习3
任务一: 判断两人的成绩谁高
任务描述
请输入张三和李四的语文成绩,判断哪个成绩高!
zhangsan = input("请输入你的成绩") lisi = input("请输入你的成绩") if int(zhangsan) > int(lisi): print("张三成绩高") else: print("李四成绩高")
任务二: 实现成绩等级判断
任务描述
成绩:优良中差
90分以上优秀
80分以上良好
60分以上中等
否则差
score = int(input("请输入成绩")) if score >= 90: print("成绩优秀") elif score >= 80: print("成绩中等") elif score >= 60: print("成绩良好") else: print("成绩不合格")
任务四: 旅游路由计算
任务描述
北京的小明要去泰山旅游, 规定1-4月为淡季,淡季门票价格60元, 5-10月为旺季门票价格为100元, 如果做高铁去车票价格是180元,普通火车车
票价格为80元,控制台输入小明出行时间和出行方式计算单次路费和门票总消费
num =int(input("1月-4月淡季""5月-10月旺季")) sun = 0 if 1<=num<4: print("淡季100元门票") num2 = int(input("选择出行方式1火车100,2汽车60")) if num2==1: sun=100+100 else: sun=100+60 elif 5>=num<10: print("是旺季的门票是200元") num2 = int(input("选择出行方式1火车100,2汽车60")) if num2 == 1: sun=200+100 else: sun = 200+60 else: print("景区不开放") print("出行的总价格,",sun)
练习4
任务一: 计算1-100的和
任务描述
使用while循环实现计算1-100的和
sum = 0 i = 1 while i <=100: sum+=i i +=1 print('总和为%d'%sum)
任务二: 计算1-100以内的偶数和
任务描述
使用while循环实现计算1-100以内的偶数和
sum = 0 i = 1 while i<=100: if i%2 == 0: sum+=i i+=1 print(sum)
任务三: 预测学员人数
任务描述
2008年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
s = 8 y = 1 while s <=20: print('第%s年的学生为%d'%(y,s)) y+=1 s= s+s*0.25 print('第%s年的学生为20万'%y)
任务四: 查询商品价格
任务描述
循环输入商品编号,显示对应的商品价格,输入“n”结束循环
print('超市管理系统') print('***********************') print('请选择购买的商品') print('1.T恤 2.网球鞋 3.网球拍') print('*****************') shopping = 'a' while shopping == 'a': no = input('请选择你要购买的商品') if no == '1': print('你要购买的商品为T恤') elif no == '2': print('你要购买的商品为网球鞋') elif no == '3': print('你要购买的商品为网球拍') else: print('欢迎下次光临') print('欢迎下次光临')
练习5-9
任务一: 格式化书输出老师的介绍信息
任务描述
定义变量保存姓名,职位,公司地址,按照如下格式输出
name = 'xiaoming' position = '讲师' address = '北京海淀区' print('--------------------------------------------------') print("姓名:%s"%name) print("职位:%s"%position) print("公司地址:%s"%address) print('--------------------------------------------------')
任务二: 用户登录和注册简单模拟实现
任务描述
实现简单用户管理功能,有登录和注册两个功能, 固定注册新用户时用户名不能和admin重名,密码不能小于6位
print('--------------------------------------------------')
print("欢迎使用用户管理系统")
print("1. 注册新用户")
print("2. 登录")
print('--------------------------------------------------')
name = ''
pwd = ''
flag = 'y'
while flag == 'y':
num = int(input('请选择菜单:'))
if num==1:
name = input('请输入用户名:')
if name =='admin':
print('用户名已经被占用!请重新操作 ')
continue
pwd = input('请输入密码 :')
if len(pwd)<6:
print('密码不能小于六位')
print('')
elif num==2:
print('***********登陆系统**********')
name1 = input('请输入用户名:')
pwd1 = input('请输入密码:')
if name ==name1 and pwd == pwd1:
print('登录成功!!!')
break
else:
print('输入有误 !')
continue
flag = input('是否继续(y/n)')
print('谢谢使用!')
任务三: 翻转字符串
任务描述
面试题:给定一个字符串aStr,请翻转字符串
aStr= 'abcdef' print(aStr[::-1])
练习6
任务一: 计算梯形的面积
任务描述
请用户输入梯形上下变成和行高,使用函数的形式实现计算梯形面积.
提示:梯形面积=(上边长+下边长)*高度/2
def tixing(a,b,h):
return (a+b)*h/2
a = int(input('请输入上边长:'))
b = int(input('请输入下边长:'))
h = int(input('请输入高度:'))
jieguo = tixing(a,b,h)
print((a+b)*h/2)
练习7
任务一: 数组练习
任务描述
有一个数列:8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
list1 = [8, 4, 2, 1, 23, 344, 12]
sum = 0
for x in list1:
print('数字的值:', x)
sum += x
print('和:%d' % sum)
num = int(input('请输入你要查找的数字:'))
if list1.count(num) == 0:
print('数字不存在!')
else:
print('存在')
任务三: 数组保存一组成绩
任务描述
循环录入5位学员成绩,进行升序排列后输出结果
arrScore =[]
i = 1
while i<= 3:
s = float(input('请录入第%d个人的成绩:'%i))
i += 1
arrScore.append(s)
# 排序
arrScore.sort()
print(arrScore)
任务四: 判断登录用户是否存在
任务描述
有一个数据列表保存了多个用户信息
users=[['tom1','123'],['tom2','123'],['tom3','123']]
users=[['tom1','123'],['tom2','123'],['tom3','123']]
flag = False #标记变量
name = input('请输入用户名')
pwd = input('请输入用密码')
for u in users:
if name==u[0] and pwd==u[1]:
flag= True
break
if flag:
print('登录成功')
else:
print('用户名或密码错误')
练习9
输入文件名实现文件备份
任务描述
讲D盘下某个txt文件,备份到 F盘下,新文件名叫 **-backup.tx
# 输入文件名 oldFileName = input("请输入要拷文件的文件名字:") # 以读的方式打开文件 oldFile = open(oldFileName,'rb') # 提取文件的后缀 fileFlagNum = oldFileName.rfind('.') if fileFlagNum > 0: fileFlag = oldFileName[fileFlagNum:] # 组织新的文件名字 newFileName = oldFileName[:fileFlagNum] + '-bakcup' + fileFlag # 创建新文件 newFile = open(newFileName, 'wb') # 把旧文件中的数据,一行行复制到新文件中 for lineContent in oldFile.readlines(): newFile.write(lineContent) # 关闭文件 oldFile.close() newFile.close()
数据刷选
任务描述
有一个record.txt的文档,内容如下:
# name, age, score
tom, 12, 86
Lee, 15, 99
Lucy, 11, 58
Joseph, 19, 56
第一栏为姓名(name),第二栏为年纪(age),第三栏为得分(score)
现在,写一个Python程序,
1)读取文件
2)打印如下结果:
得分低于60的人都有谁?
谁的名字以L开头?
所有人的总分是多少?
3)姓名的首字母需要大写,该record.txt是否符合此要求? 如何纠正错误的地方?
#coding=utf-8 namelist = [] agelist = [] scorelist= [] dk = open('test.txt','r') #打开目标文件 lines = dk.readlines() #读取整个文件,''lines'是'list'类型, print type(lines[1]) #而'lines[1]'则是'str'类型 print print '________________________' print i = 0 for i in range(len(lines)): if not lines[i].startswith('#') and len(lines[i]) != 1: line = lines[i].strip('\n').split(', ') namelist.append(line[0]) agelist.append(line[1]) scorelist.append(line[2]) print namelist pprint agelist print scorelist print print '__________________________' print acount = [] for name in namelist: if name.find('L')==0: acount.append(name) print 'Whose name start swith "L":',acount print print '__________________________'
print zuhe = [] rejected = [] for j in range(len(line)+1): zuhe = [namelist[j],agelist[j],scorelist[j]] j = j+1 if int(zuhe[2]) < 60: rejected.append(zuhe[0]) print 'Whose score is below 60 :',rejected print print '__________________________' print s = 0 k = 0 for k in range(len(line)+1): s = s + int(scorelist[k]) k = k + 1 print 'The totle score is :',s print print '__________________________' print Namelist = [] for i in range(len(namelist)): if namelist[i].capitalize() == namelist[i] : Namelist.append(namelist[i]) else : Namelist.append(namelist[i].capitalize()) i = i + 1 print Namelist raw_input()