练习精选
实现功能:
列表为:[‘Iphone8’,6888],[‘MacPro’,14800],[‘小米6’,2499],[‘Coffee’,31],[‘Book’,80],[‘Nike Shoes’,799]
实现一个类似购物车的语句,用户循环输入编号可以将列表内的商品储存到一个新的列表里面,当用户输入’q’时退出循环
products = [['Iphone8',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]]
shopping_cart = []
run_flag = True
while run_flag:
print ('-------------商品列表--------------')
for index,i in enumerate(products):
print ('%s.%s %s'%(index,i[0],i[1]))
choice = input('please input your numbers:')
if choice.isdigit():
choice = int(choice)
shopping_cart.append(products[choice])
elif choice == 'q':
print ('-----------------您以购买如下商品------------')
for index,i in enumerate(shopping_cart):
print ('%s.%s %s'%(index,i[0],i[1]))
run_flag = False'''
制作4位字符组成随机验证码4位字符组成,不区分大小写
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
用户输入的值
用户输入的值和显示的值相同时实现正确信息;否则继续生成随机验证码继续等待用户输入
生成随机验证码代码示例:(print(chr(97)):输出结果为a)
code = ''
for i in range(4):
select = random.randint(0,9)
if select % 2 == 0:
code +=chr(random.randint(65, 90))
else:
code += chr(random.randint(97, 122))
print(code)
user_code = input('请输入验证码')
if code.upper() == user_code.upper():
print('对了')
else:
print('错了')
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
list01 = []
num = input('请输入一个不多于五位的数:')
if (len(num) <= 5) and (len(num) > 0):
print('长度是%d' %len(num))
print(num[::-1])
else:
print('输入有误!!!')
使用字典,编写景区一个景点查询工具,
要求:
菜单分为省/市/景点三级菜单
用户必须先输入省份查看全部地市信息
用户输入地市可以查看本地的所有景点信息
travel_map_dict = {
"上海": {"崇明": ["崇明1", "崇明2", "崇明3", "崇明4"],
"宝山": ["宝山1", "宝山2", "宝山3", "宝山4"],
"奉贤": ["奉贤1", "奉贤2", "奉贤3", "奉贤4"]},
"北京": {"昌平": ["昌平1", "昌平2", "昌平3", "昌平4"],
"朝阳": ["朝阳1", "朝阳2", "朝阳3", "朝阳4"],
"海淀": ["海淀1", "海淀2", "海淀3", "海淀4"]}}
while True:
for province in travel_map_dict:
print('|---%s---|' % province, end='')
print()
print('---输入省份查看全部地市信息---')
User_province = input('')
if User_province not in travel_map_dict.keys():
print('输入正确的直辖市!!!')
else:
for city in travel_map_dict[User_province]:
print('|---%s---|' % city, end='')
print()
print('---输入地市可以查看本地的所有景点信息---')
User_city = input('')
if User_city not in travel_map_dict[User_province].keys():
print('请输入正确的城市!!!')
else:
for view in travel_map_dict[User_province][User_city]:
print('|---%s---|' % view, end='')
print()
print('其他任意键继续')
exit = input('输入T退出:')
if 'T' == exit: break
用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也考虑进去
def lear_data(str00):
sum00 = 0
year = int(str00[:4])
mouth =int(str00[5:7])
day = int(str00[8:10])
list_mouth00 = [31,28,31,30,31,30,31,31,30,31,30,31]
list_mouth01 = [31,29,31,30,31,30,31,31,30,31,30,31]
if year >=0 and ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0) :
i = mouth - 1
while i > 0:
sum00 += list_mouth01[i - 1]
i -= 1
return sum00 + day
else:
i = mouth - 1
while i > 0:
sum00 += list_mouth00[i - 1]
i -= 1
return sum00 + day
data = input('请输入日期(格式:****-**-**):')
print('今年的第%d天'%lear_data(data))
模拟银行账户业务,实现存款、取款和余额查询。
dict_monery = 0
while True:
print('------------------------------')
print('1.存款 2.取款 3.查询 0.退出')
operate = input('请选择你要办理的业务:')
if operate == '1':
monery00 = int(input('请输入存款:'))
dict_monery += monery00
print('存款成功!!!')
if operate == '2':
monery01 = int(input('请输入取款:'))
dict_monery -= monery01
if dict_monery >= 0 :
print('取款成功!!余额:%d'%dict_monery)
else:
print('余额不足!!取款失败。。。')
dict_monery += monery01
if operate == '3':
print('账户余额:%d'%dict_monery)
if operate == '0':
print('O(∩_∩)O谢谢您的使用,欢迎下次光临!')
break
编写“学生管理系统”,要求如下:
必须使用自定义函数,完成对程序的模块化
学生信息至少包含:姓名、年龄、学号,除此以外可以适当添加
必须完成的功能:添加、删除、修改、查询(单个查询/显示所有)
def add():
print('-------添加操作-------')
number = input('请输入学号:')
name = input('请输入姓名:')
age = input('请输入年龄')
info[number] = [name,age]
print('添加成功')
def dell():
print('-------删除操作-------')
number = input('请输入删除学生学号:')
del info[number]
print('删除成功')
def change():
print('-------修改操作-------')
print('--1:修改学号--2:修改姓名--3:修改年龄--')
do = input('请输入你的操作:')
if do == '1':
old = input('输入旧学号:')
new = input('输入新学号:')
info[new] = info[old]
del info[old]
if do == '2':
number = input('请输入学号:')
new_name = input('请输入新姓名:')
info[number][0] = new_name
if do == '3':
number = input('请输入学号:')
new_age = input('请输入新年龄:')
info[number][1] = new_age
print('修改信息成功!!!')
def find():
print('-------查询操作-------')
print('--1:单个查询--2:显示所有----')
do = input('请输入你的操作:')
if do == '1':
number = input('输入学号:')
print(number,info[number])
if do == '2':
for i in info:
print(i,info[i])
info = {}
while True:
print('---------------学生管理系统----------------')
print('1:添加 2:删除 3:修改 4:查询 0:退出')
doing = input('请输入你的操作:')
if doing == '1':
add() # 进行添加操作
if doing == '2':
dell() # 进行删除操作
if doing == '3':
change() # 进行修改操作
if doing == '4':
find() # 进行查询操作
if doing == '0': # 退出
print('O(∩_∩)O谢谢您的使用,欢迎下次光临!')
break
print()
递归遍历目录
#当前文件所在路径
# print(os.getcwd())
# 创建文件夹
# os.mkdir('nihao')
# os.path.isdir('path') 判断是不是文件夹
# os.path.isfile('path') 判断是不是文件
# os.listdir('path') 获取path下的所有文件和文件夹
'''
代码思路:
明确路径:path
--获取当前路径下所有的文件和文件夹
--判断:如果是文件,直接输出,--文件夹 继续获取
'''
import os
path = r'D:\python文件'
def get_all_files(path):
# 获取指定路径文件夹下的
files_list = os.listdir(path)
#遍历这个列表中的元素
for file_name in files_list:
# 获取文件绝对路径
file_abs_name = os.path.join(path, file_name)
#判断file_abs_name指向的是文件、文件夹
if os.path.isdir(file_abs_name):
print('目录\t' + file_abs_name)
# 继续递归遍历文件夹
get_all_files(file_abs_name)
else:
print('文件\t' + file_abs_name)
get_all_files(path)