python基础语法学习笔记(二)

整理一下自己初学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()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值