Python课程第二天作业
一、统计字符串格式
要求:
# 1.统计元组中所有数据属于字符串的个数,提示: isinstance()
# 数据: t1 = (1, 2, '3', '4', 5, '6')
# 结果: 3
代码
#统计元组中所有数据属于字符串的个数
def Statistical_String_Number():
count = 0
t1 = (1, 2, '3', '4', 5, '6')
for i in t1:
if isinstance(i, str):
count += 1
print('元组中字符串的个数为:%s'%(count))
二、数据存储为字典类型
要求:
# 2.将以下数据存储为字典类型
# 数据: info = "name:Owen|age:18|gender:男"
# 结果: {'name': 'Owen', 'age': 18, 'gender': '男'}
# 注:年龄存储为数字类型
代码:
#将字符串存储为字典类型,其中类型为str;类型的数字需要转换为int类型
def String_Conversion():
info = "name:Owen|age:18|gender:男"
info_list=info.split('|')
info_dict={}
for value in info_list:
k,v=value.split(':')
if v.isdigit():
v=int(v)
info_dict[k] = v
else:
info_dict[k] = v
print(info_dict)
三、数据去重
要求:
# 3.完成数据的去重
# 数据: t3 = (1, 2, 1, 2, 3, 5, 9)
# 结果: t3 = (1, 2, 3, 5, 9)
# 注:从不考虑顺序、考虑顺序两个方面完成
代码:
#数据的去重
def Reduplication_And_Unordering():
value_tuple = (1, 3, 8, -2, 99, 98, 77, 1, 5, 3, 77, 12) #老师给的原始数据有问题,在排序和不排序的情况下最后结果都一致
set_1=set(value_tuple)
result_nosort=tuple(set_1)
print(result_nosort) #不排序
list_1=list(set_1)
list_1=sorted(list_1)
result_sort=tuple(list_1)
print(result_sort) #排序
四、计算元组中所有可以转换为数字的数据的总和
要求:
# 4.计算元组中所有可以转换为数字的数据的总和
# 数据: t4 = (10, 'abc', '100', '3')
# 运算结果: 113
代码:
#计算元组中所有可以转换为数字的数据的总和
def Sum_Of_Numbers():
number_sum = 0
t4 = (10, 'abc', '100', '3','fadf','134',18)
for value in t4:
value = str(value)
if value.isdigit():
value=int(value)
number_sum += value
print('元组内数据总和为:%d' %(number_sum))
五、将数据转换类型存储
要求:
# 5.将数据转换类型存储
# 原数据: dic = {'name': 'Owen', 'age': 18, 'gender': '男'}
# 处理后: info = [('name', 'Owen'), ('age', 18), ('gender', '男')]
代码:
#数据转换类型存储
def Type_Conversion():
dic = {'name': 'Owen', 'age': 18, 'gender': '男'}
info=list(dic.items())
print(info)
六、计算元组中所有可以转换为数字的数据的总和
要求:
# 拓展:选做
# 1.计算元组中所有可以转换为数字的数据的总和
# 数据: t4 = (10, 'abc', '100', '3', '壹', '肆', [1000], (10000,))
# 运算结果: 11118
# 提示:
# -- 利⽤字符串isnumeric()判断汉字
# -- 利⽤字典{'壹': 1 ...}将汉字转换为数字
# -- 利⽤isinstance()将list和tuple中数据取出来
# -- 先将所有转化为数字的数据存放在⼀个单列集合中,在做运算
代码:
#数据转换类型存储(扩展)
def Sum_Of_Numbers_extend():
num_sum = 0
num_list = []
correspond_dict = {'壹':1, '贰':2, '叁':3, '肆':4, '伍':5, '陆':6, '柒':7, '捌':8, '玖':9, '拾':10}
t4 = (10, 'abc', '100', '3', '壹', '肆', [1000], (10000,))
for value in t4:
if isinstance(value, int): #判断是否是整形,如果是直接添加进数字列表中
num_list.append(value)
elif isinstance(value, str): #判断是否是字符串,
if value.isdigit(): #判断是否可以别转换为数字,如果可以添加进数字列表中
value=int(value)
num_list.append(value)
elif value.isnumeric(): #判断是否数字,包含中文、罗马类型数字,如果是则从对应的字典中获取数值加入数字列表中
num_list.append(correspond_dict.get(value))
elif isinstance(value,list): #如果是列表则先取出其中的值
for k1 in value:
num_list.append(k1)
elif isinstance(value,tuple): #如果是元组则先取出其中的值
for k2 in value:
num_list.append(k2)
for i in num_list: #计算列表中的数字总和
num_sum += i
print('元组内数据总和为:%d' %(num_sum))
七、录⼊电话本
要求:
# 2.完成录⼊电话本
# 需求:
'''
-- 从键盘中录⼊姓名(不区分⼤⼩写):
-- 姓名必须是全英⽂组成,不是则重新录⼊姓名,如果是q,代表退出
-- 从键盘中再录⼊电话:
-- 电话必须为数字且⻓度必须是11位(不能转换为数字)
-- 如果出现姓名相同,则保留最后⼀次电话号码
-- 形成的数据是有电话分组的,如:第⼀次录⼊Owen, 13355667788,则会形成
-- {
'O': {
'Owen': '13355667788'
}
}最终数据,分组名⼀定⼤写:
{
'E': {
'egon': '17788990000',
'engo': '16633445566'
},
'O': {
'Owen': '13355667788'
}
}
'''
代码:
#电话本录入
def Telephone_Book():
def Failure_Statistics(count): #错误退出提示函数
if count >= 3:
print()
print('\033[1;30;41m 失败错误次数过多,程序退出\033[0m')
exit(2) user_dict = {}
count = 0
while True:
name = input('\033[1;30;46m请输入您的姓名:\033[0m ')
if name.isalpha():
phone_num=input('\033[1;30;47m请输入您的电话号码:\033[0m ')
if (phone_num.isdecimal()) and (len(phone_num) == 11): #如果名称为全英文并且手机号码符合11位
group_name=name[0].upper()
if user_dict.get(group_name): #如果该用户的分组存在,则直接写入用户填写的信息
user_dict[group_name][name]=phone_num
else: #如果该用户分组不存在,则创建该分组并且写用户填写的信息
user_dict[group_name]={name:phone_num}
print()
print("\033[1;35m*\033[0m"*60)
print('你的用户名为:\033[1;31m%s\033[0m 您的手机号码为:\033[1;31m%s\033[0m 数据录入成功!' % (name, phone_num))
print('当前电话本已有数据为:%s' %user_dict)
print("\033[1;35m*\033[0m" * 60)
print()
elif (phone_num.isdecimal()) and (len(phone_num) != 11): #当用户名称输入正确,手机格式不符合11位时,提示用户
count += 1
Failure_Statistics(count)
print('\033[1;31m您输入的手机号码不是有效的手机号码,请重新输入!\033[0m')
else:
count += 1
Failure_Statistics(count)
print('\033[1;31m您输入的手机号码格式不合法,请重新输入!\033[0m')
else:
count += 1
Failure_Statistics(count)
print('\033[1;31m姓名必须是全英⽂组成,请重新输入\033[0m')
八、三级菜单打印:
要求
打印省、市、县三级菜单
可返回上一级
可随时退出程序
流程图:
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
menu = {
'北京': ['朝阳区', '海淀区', '西城区', '东城区', '崇文区', '宣武区', '丰台区', '石景山区', '门头沟', '房山区'],
'上海': ['黄埔区', '卢湾区', '徐汇区', '长宁区', '静安区', '闸北区', '虹口区', '杨浦区', '宝山区',' 闽行区'],
'安徽省': {
'合肥市': ['瑶海区', '庐阳区', '蜀山区', '包河区'],
'芜湖市': ['镜湖区', '新芜区', '马塘区', '鸠江区'],
'淮南市': ['田家庵区', '大通区', '谢家集区', ' 潘集区'],
'蚌埠市': ['中市区', '东市区', '西市区', '郊区'],
'安庆市': ['迎江区', '大观区', '宜秀区', '宿松县'],
'铜陵市': ['铜官山区', '狮子山区', '郊区', '铜陵县'],
'黄山市': ['屯溪区', '黄山区', '徽州区', '休宁县'],
'宣城市': ['宣州区', '宁国市', '广德县', '郎溪县']
},
'江苏省': {
'南京市': ['玄武区', '白下区', '秦淮区', '鼓楼区'],
'无锡市': ['崇安区', '南长区', '滨湖区', '北塘区'],
'苏州市': ['沧浪区', '平江区', '相城区', '吴中区'],
'徐州市': ['鼓楼区', '云龙区', '贾汪区', '泉山区'],
'南通市': ['崇川区', '港闸区', '海安县', '如东县'],
'盐城市': ['沧城区', '响水县', '滨海县', '阜宁县'],
'泰州市': ['海陵区', '高港区', '兴化市', '靖江市'],
'宿迁市': ['宿城区', '宿豫县', '沭阳县', '泗阳县'],
},
'浙江省': {
'杭州市': ['上城区', '下城区', '江干区', '西湖区'],
'湖州市': ['市辖区', '德清县', '长兴县', '安吉县'],
'嘉兴市': ['秀城区', '秀洲区', '海宁市', '平湖市'],
'绍兴市': ['越城区', '诸暨市', '上虞市', '绍兴县'],
'衢州市': ['柯城区', '衢江区', '江山市', '龙游县'],
'宁波市': ['海曙区', '江东区', '江北区', '北仑区'],
'温州市': ['鹿城区', '龙湾区', '瑞安市', '乐清市'],
'金华市': ['婺城区', '金东区', '义乌市', '武义县'],
}
} number_and_provincial_correspondence = {} #省字典 {0: '北京', 1: '上海', 2: '安徽省', 3: '江苏省', 4: '浙江省'}
province_list=list(menu.keys()) #将所有省/直辖市写入列表中
for k, v in enumerate(menu):
number_and_provincial_correspondence[k] = v #获取省/直辖市列表
province_length=len(number_and_provincial_correspondence) #获取省/直辖市的个数,用于后续打印 def main():
count = 0
print('''\033[1;31;40m欢迎进入全国城市查询系统,目前仅支持以下省/直辖市查询:\033[0m''')
while True:
for province in range(province_length): #循环 省/直辖市 列表
print(province,number_and_provincial_correspondence[province]) #打印所有省份信息供用户选择
province_choose = input('\033[1;30;42m根据数字提示,请选择您要查询的省/直辖市,选择"q/Q"退出:\033[0m') #根据用户的选择,执行相应的操作
if province_choose == 'q' or province_choose == 'Q': #退出
exit(2)
elif province_choose.isdigit() == False or (int(province_choose) > province_length or int(province_choose) < 0) : #判断选择的数字是否在合法范围
count += 1
if count > 2:
print('\033[1;31;40m错误次数过多,程序退出!\033[0m')
exit(2)
print('\033[1;30;41m无效的选项,请重新输入\033[0m')
else:
province_choose = int(province_choose)
city_list=menu.get(province_list[province_choose]) #获取所在省/直辖市市级列表
city_length = len(city_list)
if type(city_list) == list: # 获取所在省份城市个数
print('\033[1;31m%s辖区列表:\033[0m'%(number_and_provincial_correspondence[province_choose]))
print('\033[1;34;46m=\033[0m'*50)
for city in range(city_length-1):
print(city,city_list[city])
print()
other_choose = input('\033[1;30;42m返回上一层请按\'r/R\',退出请按"q/Q":\033[0m')
if other_choose == 'r' or other_choose == 'R':
continue
elif other_choose == 'q' or other_choose == 'Q':
exit(2)
else:
count += 1
if count > 2:
print('\033[1;31;40m错误次数过多,程序退出!\033[0m')
exit(2)
print('\033[1;31;40m无效的输入,请重新输入\033[0m')
elif type(city_list) == dict:
while True:
district_and_county_list = [] # 用于存放与省对应的城市名称,每次用户返回后需要情况列表
print('\033[1;31m%s 辖区列表:\033[0m' % (number_and_provincial_correspondence[province_choose]))
print('\033[1;34;46m=\033[0m' * 50)
for city_num,city in enumerate(city_list):
print(city_num,city)
district_and_county_list.append(city) #将用户所选省份的城市添加入列表中
city_choose = input('\033[1;30;42m 根据数字提示,请选择您要查询的城市信息,返回上一层请按\'r/R\',退出请按"q/Q":\033[0m')
if city_choose == 'r' or city_choose == 'R':
break
elif city_choose == 'q' or city_choose == 'Q':
exit(2)
elif city_choose.isdigit() == False or (int(city_choose) > province_length or int(city_choose) < 0): # 判断选择的数字是否在合法范围
count += 1
if count > 2:
print('\033[1;31;40m错误次数过多,程序退出!\033[0m')
exit(2)
print('\033[1;31;40m无效的选项,请重新输入\033[0m!')
else:
city_choose = int(city_choose)
district_and_county_lenght = len(city_list.get(district_and_county_list[city_choose])) #获取该市区和县的个数
district_and_county =city_list.get(district_and_county_list[city_choose]) #获取当前用户选择的城市
for district_and_county_num in range(district_and_county_lenght):
print(district_and_county_num,district_and_county[district_and_county_num])
last_choose = input('\033[1;30;42m 已经到最后啦!返回上一层请按\'r/R\',退出请按"q/Q":\033[0m')
if last_choose == 'r' or last_choose == 'R':
continue
elif last_choose == 'q' or last_choose == 'Q':
exit(2)
else: # 判断选择的数字是否在合法范围
count += 1
if count > 2:
print('\033[1;31;40m错误次数过多,程序退出!\033[0m')
exit(2)
print('\033[1;31;40m无效的选项,请重新输入!\033[0m') if __name__ == '__main__':
main()
九、购物车小程序
要求:
用户名和密码存放于文件中,格式为:egon|egon123
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
流程图:
代码如下:
#!/usr/bin/env python
# -*- coding: utf- -*-
import time
import random
white_user_set=[]
black_user_set=[]
user_list=[]
white_userDB='white_userDB'
black_userDB='black_userDB' with open(black_userDB, 'r+') as black_f:
for black_user in black_f.readlines():
black_user = black_user.strip("\n")
black_user_set.append(black_user) with open(white_userDB, 'r+') as white_f:
for file in white_f.readlines():
file = file.strip("\n")
user,passwd,balance= file.split(':')
white_user_set.append({'name':user,'passwd':passwd,'balance':balance})
user_list.append(user) def user_register():
count=
init_money=str(random.randrange(,))
while True:
count+=
register_name = input('创建用户名:')
register_passwd = input('创建密码:')
register_passwd1 = input('创建密码:')
if register_passwd == register_passwd1:
if register_name in user_list:
print('\033[1;31;40m用户已存在,请重新创建\033[0m')
else:
user_information=register_name+':'+register_passwd+':'+init_money
with open(white_userDB,'a+') as f:
f.write('\n')
f.write(user_information)
print('\033[32m恭喜您,用户创建成功!!!\033[0m')
return
else:
if count == :
print('\033[1;31;40m失败次数超过上限,程序退出\033[0m')
exit()
print('\033[1;31;40m两次密码不一致,请重新创建2\033[0m') def user_login():
Flag = True
user_failures =
all_failures =
while Flag:
login_name = input('请输入用户名:')
login_passwd = input('输入密码:')
if login_name in black_user_set:
print('\033[1;31;40m该用户已被锁定,请联系您的管理员!\033[0m')
exit()
if login_name in user_list:
for subscript,line in enumerate(white_user_set):
if (login_name == line['name']) and (login_passwd == line['passwd']):
print('\033[31m正在登录。请稍后\033[0m')
time.sleep()
print('')
print('\033[36m=\033[0m'*)
print('\033[36m 欢迎来到 澳门皇家商城\033[0m')
print('\033[36m=\033[0m'*)
user_balance=line['balance']
return (login_name,user_balance)
for subscript,line in enumerate(white_user_set):
if (login_name == line['name']) and (login_passwd != line['passwd']):
user_failures +=
all_failures +=
if (user_failures == ):
print('\033[1;31;40m验证失败次数过多,用户被锁定\033[0m')
with open(black_userDB,'a+') as f:
f.write(login_name+'\n')
exit()
print('\033[1;31;40m用户名或密码不正确,登录失败,请重新登录 \033[0m')
break
else:
print('\033[1;31;40m用户名或密码不正确,登录失败,请重新登录 \033[0m')
all_failures +=
if all_failures == :
print('\033[1;31;40m失败次数过多,请确认后再登录 \033[0m')
exit() def login_system():
while True:
count=
print('\033[32m1 注册用户:\033[0m')
print('\033[32m2 登录系统:\033[0m')
user_operation=input('\033[32m请选择您的操作:\033[0m')
if user_operation == '':
user_register()
break
elif user_operation == '':
login_name, user_balance=user_login()
return (login_name,user_balance)
else:
count+=
if count == :
print('\033[1;31;40m失败次数过多,请确认后再登录\033[0m')
exit()
print('\033[1;31;40m非法的输入,请重试\033[0m')
#
# if __name__ == '__main__':
# main()
user_login.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import user_login
from prettytable import PrettyTable sub_list = {} # 用户存放子类商品的序号及名称
name_and_price={} #用于存放子商品下每个子类中的商品名称和价格
serial_number={}
shopping_list={}
price_list=[]
commodities_list=[]
costs=0 list_Of_commodities = {
'phone': {
'Huawei':
{
'HUAWEI P30 Pro':13333,
'HUAWEI Mate X':9999,
'HUAWEI Mate 20':7999,
'HUAWEI Mate 10':5999
},
'Apple': {
'iPhone XS':8699,
'iPhoneXR':6499,
'iPhone8Plus':4699,
'iPhone7 Plus':3299
},
'millet':{
'小米9': 2999,
'小米8':1599,
'小米play':1099,
'红米6A':549
},
'NOKIA': {
'Nokia 9 PureView':9999,
'Nokia 7 Plus':1799,
'Nokia X6':999,
'Nokia 3.1 Plus':769
}
},
'computer':
{
'DELL': {
'DELL Precision 7730':89999,
'DELL Precision 7430':41999,
'DELL XPS15-9560-R184':14999,
'DELL Latitude5491':9899
},
'HUAWEI':{
'MateBook X Pro':8688,
'MateBook E':7388,
'MateBook 13':5699,
'荣耀MagicBook':3699
},
'millet':{
'小米游戏本':6699,
'小米笔记本 Pro':5599,
'小米笔记本 Air':4999,
'小米笔记本':4199
}
},
'Daily supplies': {
'Jacket':{
'Armani':8888,
'Prada':3888,
'Gucci':1888,
'CK':888
},
'Trousers':{
'Louis Vuitton':9998,
'CHANEL':6888,
'GUCCI':3888,
'PRADA':2888
},
'Skirt':{
'Disney':1888,
'Snoopy':1388,
'Balabala':988,
'BOBDOG':388
},
'red wine': {
'Romani': 8998,
'Merlot': 6666,
'Latour': 3666,
'Lafite': 888
}
}, }
def Choice_judgment(max_times):
bill_details = PrettyTable()
count=0
while count < 3 :
user_chose = input('\033[1;30;42m请根据相应的序号选择对应的商品,[s/S]查询当前已购买商品信息 [q/Q]退出程序:\033[0m')
if user_chose == 'q' or user_chose == 'Q': # 退出
print('\033[1;31;40m程序退出\033[0m')
exit(2)
elif user_chose == 's' or user_chose == 'S': # 退出
if shopping_list:
print('\033[31m您当前已购买商品如下:\033[0m')
for k,v in shopping_list.items():
bill_details.add_row([k,v])
bill_details._set_field_names(['商品名称','价格'])
print('\033[36m%s\033[0m' %bill_details)
print('\033[31m总共花费为:%s 剩余金额为:%s\033[0m'%(costs,user_balance))
print('\033[31m返回主页面,请稍后\033[0m')
time.sleep(2)
print()
print()
else:
print('\033[31m您尚未购买任何商品,余额为%s\033[0m'%(user_balance))
return False
elif user_chose.isdigit() == False or ( int(user_chose) > max_times or int(user_chose) < 0) or user_chose == False: # 判断选择的数字是否在合法范围
count += 1
if count >=3:
print('\033[1;31;40m错误次数过多,程序退出\033[0m')
exit(2)
print('\033[1;30;41m无效的选项,请重新输入\033[0m')
else:
user_chose= int(user_chose)
return user_chose def get_serial_and_product():
master_list={}
classification=PrettyTable()
for k1,v1 in enumerate(list_Of_commodities,start=1):
master_list[k1]=v1 #获取商品序号及种类名称
classification.add_row([k1,v1])
master_len=len(master_list) #商品种类的格式
classification._set_field_names(['序号','类别(大类)'])
print('\033[34m%s\033[0m' %classification) #打印商品列表
return (master_len,master_list) def get_subcategory_info():
subclass = PrettyTable()
for k2,v2 in enumerate(sub_name_list,start=1):
sub_list[k2]=v2 #子商品序号及名称
subclass.add_row([k2,v2])
subclass._set_field_names(['序号','类别(子类)'])
print('\033[35m%s\033[0m' %subclass) def get_commodity_price():
commodity_price = PrettyTable()
count=1
for k3,v3 in list_Of_commodities[trade_name][sub_name].items():
serial_number[count]=k3
name_and_price[k3]=v3
commodity_price.add_row([count,k3,v3])
count += 1
commodity_price._set_field_names(['序号','名称','价格'])
print('\033[36m%s\033[0m' %commodity_price)
return serial_number login_name,user_balance=user_login.login_system()
print('\033[47m您的登陆用户名为:\033[31m %s \033[47m您的当前余额为 \033[31m%s \033[0m' %(login_name,user_balance))
while True:
serial,master_list = get_serial_and_product()
result=Choice_judgment(serial) # 用户选择的数字
if result==False:
continue
else:
trade_name = master_list[result] # 用户选择的商品种类 sub_len=len(list_Of_commodities.get(master_list[result])) #子商品种类个数
sub_name_list=list_Of_commodities.get(master_list[result]) #子商品信息 get_subcategory_info()
sub_result=Choice_judgment(sub_len) #用户选择的数字
sub_name=sub_list[sub_result] #用户选择的商品子类 name_len=len(get_commodity_price()) #子类商品个数
name_result=Choice_judgment(name_len)
user_balance=int(user_balance)
current_price=name_and_price[serial_number[name_result]]
if current_price > user_balance:
print()
print('\033[1;30;41m余额不足,当前的商品价格为%s 当前的余额为:%s ,请重新购买\033[0m'%(current_price,user_balance))
print()
print()
time.sleep(1)
continue
else:
user_balance -= current_price
shopping_list[serial_number[name_result]]=current_price
for cost in shopping_list.values():
costs += cost
print()
print()
time.sleep(1)
print('''\033[1;31;40m您当前购买的商品为: %s 价格为:%s \033[0m'''%(serial_number[name_result],current_price))
print('\033[1;31;40m=\033[0m'*50)
print('\033[1;31;40m '*37+'剩余金额:%s \033[0m'%user_balance)
print()
print()
time.sleep(2)
shop_cat.py
Python课程第二天作业的更多相关文章
- python课程第二周重点记录
python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...
- 2019北航oo课程第二单元作业总结..#_#..
学习了之前在写代码是从来没有见过的多线程之后,便迎来了此次电梯作业.说实话,这次作业做得十分的辛苦,虽然在前三次作业中领悟到了java面向对象的精髓,但是再加上了多线程之后,又开始理不清思路,对自己的 ...
- python课程第一天作业1-模拟登录
第一周作业: 作业1:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 流程图: 代码:后来修改过一次: #!/usr/bin/env python # -*-conding:ut ...
- Python课程第八天作业
第一题: 1.自定义一个 Fruit 类:该类有一个 类属性: identify:值为"水果",有两个对象属性: name,price:值由实例化对象时赋值,一个类方法: get_ ...
- Python课程第一天作业
一.第一题:简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型? 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的 ...
- Python的第二次作业
羊车门问题 1.我认为 会 增加选中汽车的机会,原因如下: 不换的情况:对于参赛者而言无论选哪一扇门都有1/3的几率能获得车子. 换的情况 :对于参赛者而言,有两种情况「1.参赛者第一次就选择到了正 ...
- BUAA OO 2019 第二单元作业总结
目录 总 架构 controller model view 优化算法 Look 算法 多种算法取优 预测未来 多线程 第五次作业 第六次作业 第七次作业 代码静态分析 UML 类图 类复杂度 类总代码 ...
- 2003031121-浦娟-python数据分析第四周作业-第二次作业
项目 内容 课程班级博客链接 20级数据班(本) 作业链接 Python第四周作业第二次作业 博客名称 2003031121-浦娟-python数据分析第四周作业-matolotlib的应用 要求 每 ...
- OO第二单元作业总结【自我反思与审视】
第二单元作业的完成史,就是一部心酸的血泪史…… 多线程的出现为我(们)打开一片广阔的天地,我也在这方天地摸爬滚打,不断成长!如果说第一单元之前还对Java语法有所了解的话,那么这单元学习多线程则完全是 ...
随机推荐
- Unity对象池的实现
对象池是一个单例类: using System.Collections; using System.Collections.Generic; using UnityEngine; public cla ...
- pymysql操作mysql的脚本示例
#!/usr/bin/env python#-*- coding:UTF-8 -*- from multiprocessing import Process , Queuefrom queue imp ...
- power_save模式
802.11的电源管理模式分为:主动模式(Active Mode)和省电模式(Power Save Mode). Power Save模式的工作原理: Beacon讯框中包含了一组名为Traffic ...
- 项目启动失败,异常代码(StandardEngine[Catalina].StandardHost[localhost].StandardContext[/credit]]) ,dataSource 也报错
问题:tomcat 项目启动失败(有多个springboot项目)! 28-Apr-2019 12:01:12.162 严重 [localhost-startStop-1] org.apache.ca ...
- Egret_时间与运行
1.加载资源 2.将显示对象添加到显示列表 /////////////*****************************动态帧频******************************** ...
- python中sys模块之输入输出错误流
import sys sys.stdout.write("msg") # 控制台白色字体打印 普通输出流 sys.stderr.write("msg") # ...
- window下mysql创建库只读
window下mysql创建库只读和启动失败都有可能是my.ini配置文件出错的问题 遇到如下错误ERROR 1036 (HY000): Table 'schemata' is read only,办 ...
- linux下 编译安装Mysql
正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm ...
- BZOJ5311,CF321E 贞鱼
题意 Problem 5311. -- 贞鱼 5311: 贞鱼 Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 677 Solved: 150[Subm ...
- Python基础测试题
1,执行Python脚本的两种方式 答:一种是 交互式,命令行shell启动Python,输入相应代码得出结果,无保存,另一种是 脚本式,例如:python 脚本文件.py,脚本文件一直存在,可编辑, ...