# -*- coding: utf-8 -*-
# @Time : 2019/08/08 17:38
# @Author : Liu
# @File : zuoye.py# 一、
# 將此功能定義成一個函數,
# 電腦隨機生成1~100隨機數,用戶輸入一個數字,電腦提示用戶大或者小,猜錯,繼續提示;猜對,則程序終止
# # (因為在用戶猜數字的時候會發生輸入的是非數字)
# 在調用函數的時候進行異常處理。
# import random
#
# flag = True
# num = random.randint(1, 100)
# print(num)
#
# class inputError(BaseException):
# # def __init__(self, *args, **kwargs): # real signature unknown
# pass
#
#
# def guess():
# number = input("請輸入猜測數字:")
# if number.isdigit():
# if int(number) > num:
# print("大")
# elif int(number) < num:
# print("小")
# else:
# global flag
# flag = False
# else:
# raise inputError("Number input is ERROR!")
#
#
# try:
# while flag == True:
# guess()
# else:
# print("正確")
# except BaseException as e:
# print(e)#
# 二、
# 定義一個函數,參數是列表(比如是姓名),函數的功能是:將列表的第一項和最后一下進行拼接,并返回拼接后的結果。
# 在調用函數的時候進行異常處理。
#
# class PinjieERROR(BaseException):
# pass
#
#
# list = ['liu', 'wasda', 'wang']
#
#
# def pinjie(list):
# str = list[0] + list[-1]
# return str
#
#
# try:
# p = pinjie(list)
# print(p)
# except Exception as e:
# raise PinjieERROR("拼接有誤")
# 三、
# 定義一個函數func(listinfo) listinfo:為列表,listinfo=[133,88,33,22,44,11,44,55,33,22,11,11,444,66,555]
# 返回一個列表包含小于100的偶數(使用filter完成添加上異常處理)
# '
# listinfo = [133, 88, 33, 22, 44, 11, 44, 55, 33, 22, 11, 11, 444, 66, 555]
#
#
# def func(x):
# return x < 100 and x % 2 == 0
#
#
# class funcError(BaseException):
# pass
#
#
# try:
# newlist = list(filter(func, listinfo))
#
# print(newlist)
# except Exception as e:
# raise funcError("...異常")
# 四. 定義一個異常類,繼承Exception類, 捕獲下面的過程:判斷input()輸入的字符串長度是否小于5,如果小于5,比如輸入長度為3則輸出yes,大于5輸出no
# class Error(Exception):
# pass
#
# def func():
# x =input("請輸入字符串:")
# if len(x)<5:
# return str("yes")
# else:
# return str("no")
# while True:
# try:
# print(func())
# except Exception as err:
# raise Error("異常?")# 五、簡述python中的異常,并舉例說明# 六、其他練習題
# 1、把列表中所有姓周的人的信息刪掉:
# lst = ['周老二', '周星星', '麻花藤', '周扒皮']
# 結果: lst = ['麻花藤']
# list = ['周老二','周星星', '麻花藤', '周扒皮']
# list2 = []
# for i in list:
# if i[0]== '周':
# list2.append(i)
# print(list2)
# for i in list:
# for j in list2:
# if j in list2:
# list.remove(j)
# print(list)# 2、車牌區域劃分, 現給出以下車牌. 根據車牌的信息, 分析出各省的車牌持有量.
# cars = ['魯A32444','魯B12333','京B8989M','黑C49678','黑C46555','滬 B25041'.....]
# locals = {'滬':'上海', '黑':'黑龍江', '魯':'山東', '鄂':'湖北', '湘':'湖南', '京': '北京'.....}
# 結果: {'山東': 2, '北京': 1, '黑龍江': 2, '上海': 1}cars = ['魯A32444','魯B12333','京B8989M','黑C49678','黑C46555','滬 B25041']
locals = {'滬':'上海', '黑':'黑龍江', '魯':'山東', '鄂':'湖北', '湘':'湖南', '京': '北京'}dict ={}
count = 0
for i in cars:key = i[0]if key in locals:count+=1dict[key] =dict.get(key,0)+1print(dict)# dic = {}
# for car in cars:
# key = car[0] # 獲取車牌的第一個字
# if key in locals:
# new_key = locals[key]
# dic[new_key] = dic.get(new_key, 0) + 1 # 設默認值為0
# print(dic)
# 3. 干掉主播. 現有如下主播收益信息:
# zhubo = {'盧本偉':522000, '馮提莫':189999, '金老板': 99999, '吳老板': 250000, 'alex': 126}
# 1.計算主播平均收益值
# 2.干掉收益小于平均值的主播
# 3.干掉盧本偉
#
# zhubo = {'盧本偉':522000, '馮提莫':189999, '金老板': 99999, '吳老板': 250000, 'alex': 126}
# allmoney = 0
# list= []
# for name,money in zhubo.items():
# allmoney +=money
# ave = allmoney / len(zhubo)
# # print(ave )
# if ave >money:
# list.append(name)
# print(list)
# list3 = []
# for name in list:
# for name2 in zhubo.keys():
# if name == name2:
# list3.append(name)
# # del zhubo[name2] #RuntimeError: dictionary changed size during iteration
# del zhubo[name2]
# print("小于平均",list)
# print(zhubo)
# del zhubo['盧本偉']
# print(zhubo)
# 4.有如下兩個集合,pythons是報名python課程的學員名字集合,linuxs是報名linux課程的學員名字集合
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
# linuxs={'wupeiqi','oldboy','gangdan'}
# 1. 求出即報名python又報名linux課程的學員名字集合
# 2. 求出所有報名的學生名字集合
# 3. 求出只報名python課程的學員名字
# 4. 求出沒有同時這兩門課程的學員名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}# set1 = []
# a =list(pythons)
# b =list(linuxs)
# for i in a:
# for j in b:
# if i == j:
# set1.append(i)
#
#
# set1 = set(set1)
# print(set1)
#
# a = a+b
# print(set(a)) #求出所有報名的學生名字集合
#####set1 = []
a =list(pythons)
b =list(linuxs)
for i in a:for j in b:if i == j:set1.append(i)
for i in set1:for j in a:if i == j:pythons.remove(i)
print(pythons)#只報名python
###set2 = []
a =list(pythons)
b =list(linuxs)
for i in a:for j in b:if i == j:set2.append(i)
for i in set1:for j in a:if i == j:linuxs.remove(i)
print(linuxs) #只報名linux#
?