整理一下自己初学python时打的一些代码,方便日后用的时候查阅。
21 列表 添加、删除、修改、查询 元素
names = ["老王", "老李", "老肖"] # 定义了一个列表
nums = [11, 213, 0.99, "100", "老王"] # python功能比c强大 可以储存不同类型
names.append("老蔡") # 在列表最后添加列表内容 相当于 压栈
names.insert(0, "八戒") # names.insert(位置, 要添加的内容)
names.insert(2, "娜娜") # 位置原理和数组一样 起始位为0
print(names)
names2 = names + nums
names.extend(nums) # 将nums加在names最后
print(names2)
print(names)
names.pop() # 将names最后一个元素删除 相当于 弹栈
print(names)
names.remove("老李") # 删除某个特定元素
print(names)
print(names[1]) # 字符串的功能都可以用
print(names[-1])
print(names[2:5]) # 切片功能可用 但切出来的是 列表
del names[0] # 根据下标删除某元素
print(names)
names[0] = "莎士比亚" # 修改
print(names)
if "老赵" not in names: # in 或者 not in 查询功能
print("请添加老赵")
else:
print("已经有老赵了")
22 练习-名字管理系统
print("="*50)
print(" 名字管理系统 V8.6")
print(" 1:添加一个新的名字")
print(" 2:删除一个名字")
print(" 3:修改一个名字")
print(" 4:查询一个名字")
print(" 0:退出该程序")
print("="*50)
names = ["小仙女", "阿童木", "二硕", "哈士奇"] # names = []这是空列表
while True:
num = int(input("请输入功能号:"))
if num == 1:
name = input("请输入你想添加的名字:")
names.append(name)
elif num == 2:
name = input("请输入你要删除的名字:")
names.remove(name)
elif num == 3:
name = input("请输入你想修改的名字:")
if name in names:
names.remove(name)
name2 = input("请输入你想改成的名字:")
names.append(name2)
else:
print("不好意思 该名字并不在列表中!请重新输入....")
elif num == 4:
name = input("请输入你想查询的名字:")
if name in names:
print("你所查询的名字在列表中...")
else:
print("查无此人...")
elif num == 0:
print("感谢你的使用!~~~")
break
else:
print("输入错误!!!")
print(names)
23 字典 {键: 值, 键: 值} 键值对 {key: value}
infor = {"name": "班长", "address": "伊斯坦布尔", "age": 18}
print("%s %d %s" % (infor["name"], infor["age"], infor["address"]))
infor["qq"] = 10086 # 本来不存在 就添加
print(infor)
infor["name"] = "阿狗" # 本来存在 就修改
print(infor)
del infor["age"] # 删除
print(infor)
print(infor.get("age")) # 这样查询 要是没有 不会报错
print(infor.get("name"))
24 列表 嵌套 字典
people = [{"name": "羊", "age": "18"}, {"name": "王", "age": "20"}]
for temp in people:
print(temp) # 每次打印一个字典
for temp in people:
print(temp["name"])
25 练习-名片管理系统
print("*"*50)
print(" 名片管理系统 V0.01")
print(" 1: 添加一个新的名片")
print(" 2: 删除一个名片")
print(" 3: 修改一个名片")
print(" 4: 查询一个名片")
print(" 5: 打印所有名片")
print(" 0: 退出系统")
print("*"*50)
members = [{"name": "羊", "qq": 1234567, "weixin": "yang123", "address": "合肥"}]
while True:
num = int(input("请输入功能号:"))
if num == 1:
n_name = input("请输入新的名字:")
n_qq = input("请输入新的QQ:")
n_weixin = input("请输入新的微信:")
n_address = input("请输入新的住址:")
infor = {}
infor["name"] = n_name
infor["qq"] = n_qq
infor["weixin"] = n_weixin
infor["address"] = n_address
members.append(infor) # 将一个字典添加到列表中
print(members)
elif num == 2:
person = input("请输入你想删除的名片:")
members.remove(person)
print(members)
elif num == 3:
person = input("请你输入你的想修改的名片:")
members.remove(person)
person2 = input("请输入修改后的名片:")
members.append(person2)
print(members)
elif num == 4:
name = input("输入你想查询的名字:")
name_flag = 0
for temp in members:
if temp["name"] == name:
print(temp)
name_flag = 1
break
if name_flag == 0:
print("查无此人")
elif num == 5:
print("姓名 \tQQ \t微信 \t住址")
for temp in members:
print("%s\t%s\t%s\t%s" % (temp["name"], temp["qq"], temp["weixin"], temp["address"]))
elif num == 0:
print("感谢你的使用!")
break
else:
print("输入错误,请重新输入!")
print("")
26 历遍列表
nums = [11, 12, 13, 1363, 88]
i = 0
while i < 5:
print(nums[i])
i += 1
for num in nums:
print(num)
27 for循环中的else (其他语言没有这样的)
nums = [11, 22, 33, 44, 55]
for temp in nums:
print(temp)
# 加上break的话 除非列表为空 否则不会执行else
else: # 一定会执行
print("*"*15)
28 名片查找 用for循环加else
card = [{"name": "老王", "age": 19}, {"name": "老李", "age": 22}, {"name": "老刘", "age": 31}]
name = input("请输入你想要查找的名字:")
for temp in card:
if temp["name"] == name:
print("找到了...")
break
else:
print("没有找到!")
29 append 和 extend 区别
a = [111, 222, 333]
b = [444, 555]
a.extend(b) # extend是将两个列表拼接
print(a)
a.append("hhhh") # append是可以直接输入所要增加的元素
print(a)
a.append(b) # 将列表b整体加入a
print(a)
a = a.append(b) # a.append(b)的执行结果为空 None
print(a)
30 元组 元组的元素不能修改 用()
num = (111, 2222)
print(type(num))
card = {"name": "hhhh", "age": 18}
print(card.keys()) # 打印键
print(card.values()) # 打印值
print(card.items()) # 打印键对
for temp in card.items():
print(temp)
a = (11, 22)
b = a
print(b)
c, d = a
print(c) # 11
print(d) # 22
for A, B in card.items():
print("key=%s, value=%s" % (A, B))
31 函数的定义及使用-佛祖图
def print_fozu():
print(" _ooOoo_ ")
print(" o8888888o ")
print(" 88 . 88 ")
print(" (| -_- |) ")
print(" O\\ = /O ")
print(" ____/`---'\\____ ")
print(" . ' \\| |// `. ")
print(" / \\||| : |||// \\ ")
print(" / _||||| -:- |||||- \\ ")
print(" | | \\\\\\ - /// | | ")
print(" | \\_| ''\\---/'' | | ")
print(" \\ .-\\__ `-` ___/-. / ")
print(" ___`. .' /--.--\\ `. . __ ")
print(" ."" '< `.___\\_<|>_/___.' >'"". ")
print(" | | : `- \\`.;`\\ _ /`;.`/ - ` : | | ")
print(" \\ \\ `-. \\_ __\\ /__ _/ .-` / / ")
print(" ======`-.____`-.___\\_____/___.-`____.-'====== ")
print(" `=---=' ")
print(" ")
print(" ......................阿弥陀佛....................... ")
print(" 佛祖镇楼 BUG辟易 ")
print(" 佛曰: ")
print(" 写字楼里写字间,写字间里程序员; ")
print(" 程序人员写程序,又拿程序换酒钱。 ")
print(" 酒醒只在网上坐,酒醉还来网下眠; ")
print(" 酒醉酒醒日复日,网上网下年复年。 ")
print(" 但愿老死电脑间,不愿鞠躬老板前; ")
print(" 奔驰宝马贵者趣,公交自行程序员。 ")
print(" 别人笑我忒疯癫,我笑自己命太贱; ")
print(" 不见满街漂亮妹,哪个归得程序员?")
def print_triangle():
print("*")
print("##")
print_triangle()
print_fozu() # 调用函数
32 带参数的函数
def sum_2_nums(a, b):
result = a+b
print("%d+%d=%d" % (a, b, result))
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
sum_2_nums(num1, num2)
33 函数返回值
def get_temperature():
temperature = 22
print("当前室温为:%d" % temperature)
return temperature
def get_huashi_temperature(temperature):
temperature = temperature + 275
print("当前室温为(华氏度):%d" % temperature)
temp = get_temperature()
get_huashi_temperature(temp)
34 函数返回多个值 用元组、列表
def test():
a = 10
b = 11
c = 12
# d = [a, b, c] # 用列表封装3个变量的值
# return d
# return [a, b, c]
return a, b, c # 相当于元组
num1 = test()
print(num1)
35 函数嵌套调用
def test1():
print("-----111-----")
print("-----222-----")
def test2():
print("哈哈哈")
test1()
print("嘿嘿嘿")
def print_line():
print("*"*50)
def print_50line():
i = 0
while i < 5:
print_line()
i += 1
print_50line()
36 函数调用练习
def func(x, y, z):
summary = x+y+z
print("result=%d" % summary)
return summary
def average(x, y, z):
aver = func(x, y, z) / 3
print("average = %d" % aver)
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
c = int(input("请输入第三个数:"))
func(a, b, c)
average(a, b, c)
37 用global对全局变量声明
a = 100 # 全局变量定义最好放在调用前面
def test1():
global a
a = 33
def test2():
print(a)
test1()
test2()
38 局部变量和全局变量名字相同
a = 100
def test():
a = 200
print("a = %d" % a)
def test1():
print("a = %d" % a)
test() # 会执行局部调用
test1()
39 练习-名片管理系统(改)
members = [{"name": "羊", "qq": 1234567, "weixin": "yang123", "address": "合肥"}]
def print_func():
print("*"*50)
print(" 名片管理系统 V0.01")
print(" 1: 添加一个新的名片")
print(" 2: 删除一个名片")
print(" 3: 修改一个名片")
print(" 4: 查询一个名片")
print(" 5: 打印所有名片")
print(" 0: 退出系统")
print("*"*50)
def new_card():
n_name = input("请输入新的名字:")
n_qq = input("请输入新的QQ:")
n_weixin = input("请输入新的微信:")
n_address = input("请输入新的住址:")
infor = {}
infor["name"] = n_name
infor["qq"] = n_qq
infor["weixin"] = n_weixin
infor["address"] = n_address
members.append(infor) # 将一个字典添加到列表中
print(members)
def modify_card():
global members
person = input("请你输入你的想修改的名片:")
members.remove(person)
person2 = input("请输入修改后的名片:")
members.append(person2)
print(members)
def seek_card():
global members
name = input("输入你想查询的名字:")
name_flag = 0
for temp in members:
if temp["name"] == name:
print(temp)
name_flag = 1
break
if name_flag == 0:
print("查无此人")
def print_card():
global members
print("姓名 \tQQ \t微信 \t住址")
for temp in members:
print("%s\t%s\t%s\t%s" % (temp["name"], temp["qq"], temp["weixin"], temp["address"]))
def main(): # 主函数
print_func()
while True:
num = int(input("请输入功能号:"))
if num == 1:
new_card()
elif num == 2:
pass
elif num == 3:
modify_card()
elif num == 4:
seek_card()
elif num == 5:
print_card()
elif num == 0:
print("感谢你的使用!")
break
else:
print("输入错误,请重新输入!")
print("")
main()
40 列表、字典当全局变量
nums = [11, 22, 33]
def test():
nums.append(44)
def test2():
print(nums)
test()
test2()