终端计算器
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))