终端计算器+删除列表重复元素+号码归属地查询:+列表的排序函数(sort)+返回一个列表中第二大的数
**终端计算器**
import sys print(sys.argv) if sys.argv[2] == '+': print(int(sys.argv[1]) + int(sys.argv[3])) elif sys.argv[2] == '-': print(int(sys.argv[1]) - int(sys.argv[3])) elif sys.argv[2] == '*': print(int(sys.argv[1]) * int(sys.argv[3])) elif sys.argv[2] == '/': print(int(sys.argv[1]) / int(sys.argv[3])) elif sys.argv[2] == '//': print(int(sys.argv[1]) // int(sys.argv[3])) elif sys.argv[2] == '%': print(int(sys.argv[1]) % int(sys.argv[3])) else: print("出错")
# **删除列表重复元素**
#自己实现列表去重不要用set
# def quchong(lt): # lt1=[] # for i in lt: # if i not in lt1: # lt1.append(i) # return lt1 # print(quchong([1,2,2,2,3,4,]))
# 返回一个列表中第二大的数
#排序去除第二个
#求最大值,然后删除,再求最大值
def second_max(lt): if lt[0] > lt[1]: #记录最大值 yida = lt[0] #记录第二大 erda = lt[1] else: yida = lt[1] erda = lt[0] #获取长度 n = len(lt) i = 2 while i < n: if lt[i] > yida: erda = yida yida = lt[i] elif lt[i] > erda: erda = lt[i] i += 1 return erda lt = [1,2,3,4,8,9] print(second_max(lt))
# 完整列表的排序函数(sort),支持逆序
def my_sort(lt,reverse=False): for i in range(len(lt)-1): for j in range(i+1,len(lt)): if reverse: lt[i] < lt[j] lt[i], lt[j] = lt[j], lt[i] else: lt[i] > lt[j] lt[i], lt[j] = lt[j], lt[i] lt = [2, 5, 8, 1, 7, 6] my_sort(lt, reverse=True)
号码归属地查询:
```
s = '''5582|1860101|010|北京市|北京联通GSM卡 5583|1860100|010|北京市|北京联通GSM卡 5584|1368141|010|北京市|北京移动神州行卡 5585|1860111|010|北京市|北京联通GSM卡 5586|1358198|010|北京市|北京移动动感地带卡 5587|1361139|010|北京市|北京移动预付费卡 5588|1361138|010|北京市|北京移动神州行卡 5591|1360110|010|北京市|北京移动全球通卡 5748|1364110|010|北京市|北京移动神州行卡''' # 按照换行进行切割 lt = s.splitlines() # 创建一个字典用于保存信息 guishudi = {} for i in lt: # 将每一条数据按照'|'进行切割 info_list = i.split('|') # 提取有效信息,保存到字典 guishudi[info_list[1]] = info_list[-1] while True: phone = input('请输入您要查询的号码,至少前7位:') print(phone, guishudi.get(phone))
```

浙公网安备 33010602011771号