2018-03-24 python 练习

1.在 python 交互环境中练习:

#123 + 321 444  int
#123 - 321 -198 int
#123 * 4 492  int
#123 / 2 61.5 float
#123 // 2 整除 61  int
#123 % 2  求余 1 int

print(123%2)
print(type(123%2))

2. 把"abc123=",字符串中等号替换成下划线。

str = "abc123=".replace("=","_")

print(str)

3. 把字符串“abc”反转成“cba”。

Str = "abc"

#[::-1]  将元组或列表的内容翻转

newStr= Str[::-1]
print(newStr)

4. a = "abcdefg123456", a[2:8:2]的值是多少。

a = "abcdefg123456"
b = a[2:8:2]
print(b) #ceg

5. d={"a":1,"b":2},把键“a”的值改为 100,改完之后,把{“c”:3,"d":4}合并到 d 字典 中。

d={"a":1,"b":2}
d["a"] = 100
print(d)

e = {"c":3,"d":4}
print(e)

d.update(e)

print(d)

6. 编写代码设计简易计算器,可以进行基本的加减乘除运算。

number_a = input("输入第一个数字:")
number_a = int(number_a)

ceter_mark = input("输入要进行的运算:")

number_b = input("输入第二个数字:")
number_b = int(number_b)


if ceter_mark == "+":
   print(number_a + number_b)
elif ceter_mark == "-":
   print(number_a - number_b)
elif ceter_mark == "*":
   print(number_a * number_b)
else:
   print(number_a/number_b)

7. 编写程序,从键盘获取用户名和密码,然后判断,如果正确就输出以下信息: "欢迎来到 博学谷!"。

code = input("输入用户名:")
password = input("输入密码:")

if code != "123456":
    print("用户名错误")
elif password != "111":
    print("密码错误")
else:
    print("欢迎来到 博学谷!")

8. 现有一字符串 a = “abcdefg”,将字符串中的元素逐个输出。

a = "abcdefg"

for i in  a :
    print(i)

9. 使用 while 循环计算 1~100 的累积和(包含 1 和 100)。

a = 1
sum = 0
while a<=100:
   sum = sum+a
   a = a+1
 print("sum为{}".format(sum))

10. 编写代码模拟用户登陆。要求:用户名为 python,密码 123456,如果输入正确,打 印“欢迎光临”,程序结束,如果输入错误,提示用户输入错误并重新输入。

code = input("输入用户名:")
password = input("输入密码:")

if code != "python":
    print("用户名错误,重新输入")
elif password != "123456":
    print("密码错误,重新输入")
else:
    print("欢迎光临")

11. 编写函数,参数为 a1 和 a2,如果 a1 大于 a2 则函数返回 1,如果 a1 小于 a2 则函数 返回-1,如果 a1 等于 a2 则函数返回 0。

def compare_num(a1,a2):
    if a1 > a2:
        return  1
    elif a1 < a2 :
        return  -1
    else:
        return  0

a = compare_num(3,1)
print(a)

12. 分别定义一个字符串类型的全局变量、列表类型的全局变量。定义函数 test1,在函数 中分别使用,总结有什么区别?

str = "你好呀,全局变量"
list = ["1","2","3","4","5"]

def test1():
    newStr = str[::-1]
    list.append("6")
    print(list)
    print(newStr)

test1()

13. 完成一个简单的学生管理系统,实现学生信息的增删改查,学生信息包括姓名,年龄, 学号

  • 基础创建学生管理系统
# 1.学生信息保存在字典里面
# 2.所有的学生信息放在列表中

# while True
# 3.打印提示
# 4.用户输入
# 5.拿到用户输入的结果
# 6.根据结果选择要做的事情,即选择要调用的函数
# 函数1.展示全部学生信息
# 函数2.搜索一个学生
# 函数3.增加一个学生
# 函数4.修改一个学生
# 函数5.删除一个学生
# 7.用户退出,break


studeut_list = [{"name": "xiaohong", "age": "15", "num": 1}]


def print_info():
    print("*" * 20)  # 3.打印提示
    print("欢迎来到学生信息管理系统")
    print("1.展示全部学生")
    print("2.搜索一个学生")
    print("3.增加一个学生")
    print("4.修改一个学生")
    print("5.删除一个学生")
    print("6.退出信息系统")
    print("*" * 20)
    user_input = input("输入选择的序号:")
    return user_input


def main():
    while True:
        user_input = print_info()
        if user_input in ["1", "2", "3", "4", "5", "6"]:
            if user_input == "1":
                show_all_stu()
            elif user_input == "2":
                saerch_stu()
            elif user_input == "3":
                addnew_stu()
            elif user_input == "4":
                modify_stu_info()
            elif user_input == "5":
                delegate_stu()
            elif user_input == "6":
                print("再见")
                break
        else:
            print("不好意思,你输入错误,请重新输入")



def show_all_stu():
    for stu in studeut_list:
        print(stu)


def saerch_stu():
    user_input_name = input("输入您要搜索的学生姓名:")
    stu_exist = False
    for stu in studeut_list:
        if stu["name"] == user_input_name:
            stu_exist = True
            print(stu)
    if not stu_exist:
        print("输入的学生不存在")


def addnew_stu():
    stu_name = input("请输入要添加的学生姓名:")
    stu_age = input("请输入要添加的学生年龄:")
    stu_num = input("请输入要添加的学生学号:")
    new_stu = {"name": stu_name, "age": stu_age, "stu_num": stu_num}
    studeut_list.append(new_stu)
    print("学生:{}信息添加成功".format(stu_name))

def  modify_stu_info():
    stu_name = input("输入要修改的学生姓名:")
    stu_exist = False
    for stu in studeut_list:
        if stu["name"] == stu_name:
            stu_exist = True
            user_input_age = input("输入修改的年龄")
            user_input_num = input("输入修改的学号")
            stu["age"] = user_input_age
            stu["num"] = user_input_num
            print("学生:{}信息修改成功".format(stu_name))
    if not  stu_exist:
        print("输入的学生不存在")



def delegate_stu():
    user_input_name = input("输入要删除学生的姓名:")
    stu_exist = False
    for stu in  studeut_list:
        if stu["name"] == user_input_name:
            stu_exist = True
            studeut_list.remove(stu)
            print("删除{}学生成功".format(user_input_name))
    if not stu_exist:
        print("输入的学生不存在")

main()

  • 利用实例化方法进行重构
class StudentSystem:

    #进行对象实例化方法,可在对象方法内添加参数
    #引入 self 关键字  self代表这个实例
    #self 可对对象内部的属性进行打点调用
    #属性 在本类中任意位置可调用
    def __init__(self,name,age,num):

        self.name = name
        self.age = age
        self.num = num
        self.studeut_list = [{"name":self.name, "age":self.age, "num": self.num}]


    def print_info(self):
        print("*" * 20)  # 3.打印提示
        print("欢迎来到学生信息管理系统")
        print("1.展示全部学生")
        print("2.搜索一个学生")
        print("3.增加一个学生")
        print("4.修改一个学生")
        print("5.删除一个学生")
        print("6.退出信息系统")
        print("*" * 20)
        user_input = input("输入选择的序号:")
        return user_input

    def show_all_stu(self):
        for stu in self.studeut_list:
            print(stu)

    def saerch_stu(self):
        user_input_name = input("输入您要搜索的学生姓名:")
        stu_exist = False
        for stu in self.studeut_list:
            if stu["name"] == user_input_name:
                stu_exist = True
                print(stu)
        if not stu_exist:
            print("输入的学生不存在")

    def  addnew_stu(self):
         stu_name = input("请输入要添加的学生姓名:")
         stu_age = input("请输入要添加的学生年龄:")
         stu_num = input("请输入要添加的学生学号:")
         new_stu = {"name": stu_name, "age": stu_age, "stu_num": stu_num}
         self.studeut_list.append(new_stu)
         print("学生:{}信息添加成功".format(stu_name))

    def modify_stu_info(self):
        stu_name = input("输入要修改的学生姓名:")
        stu_exist = False
        for stu in self.studeut_list:
            if stu["name"] == stu_name:
                stu_exist = True
                user_input_age = input("输入修改的年龄")
                user_input_num = input("输入修改的学号")
                stu["age"] = user_input_age
                stu["num"] = user_input_num
                print("学生:{}信息修改成功".format(stu_name))
        if not stu_exist:
            print("输入的学生不存在")

    def delegate_stu(self):
        user_input_name = input("输入要删除学生的姓名:")
        stu_exist = False
        for stu in self.studeut_list:
            if stu["name"] == user_input_name:
                stu_exist = True
                self.studeut_list.remove(stu)
                print("删除{}学生成功".format(user_input_name))
        if not stu_exist:
            print("输入的学生不存在")


    def main_system(self):
       while True:
            user_input = self.print_info()
            if user_input in ["1", "2", "3", "4", "5", "6"]:
                if user_input == "1":
                    self.show_all_stu()
                elif user_input == "2":
                    self.saerch_stu()
                elif user_input == "3":
                    self.addnew_stu()
                elif user_input == "4":
                    self.modify_stu_info()
                elif user_input == "5":
                    self.delegate_stu()
                elif user_input == "6":
                    print("再见")
                    break

                else:
                    print("不好意思,你输入错误,请重新输入")



if __name__ == '__main__':
    student_system = StudentSystem("小红","18","100") #实例化 对象
    student_system.main_system() #对象调用内部方法


14. 自己编写一个模块,模块中有一个函数,可以判断一个数字是偶数还是奇数。在其他的 py 文件中调用自己写的模块。

  • 新建一个py文件 创建一个判断数字奇偶的方法
  • 外部调用的时候使用
from 模块名称 import  方法名称

num_search(101)

15. 将字典{"a":1,"b":2}转换成 json 字符串,把 json 字符串'{"a":1,"b":2}'转换成字典

num_dict =  {"a":1,"b":2}

#字典转json字符串
json_str = json.dumps(num_dict) 
#json字符串转字典
new_dict = json.loads(json_str)

print(json_str)
print(type(json_str))
print(new_dict)
print(type(new_dict))

16. 使用 open 函数打开一个文件,把"abc123"字符串,写入文件中.

f = open("b.txt","w")
f.write("abc123")
f.close()

17. 定义一个 Aniaml 类,类中定义一个 bark 方法,创建一个实例对象,调用 bark 方法。

18. 定义一个 Aniaml 类,初始化 name 和 color 两个属性,类中定义一个 bark 方法用 来打印 name 属性以及 color 属性。创建一个实例对象,调用 bark 方法。

class Animal:
    def __init__(self,name,color):
        self.name = name
        self.color = color

    def  bark(self):
        print("{}的{}在叫".format(self.color,self.name))

if __name__ == '__main__':
    animal = Animal("汪汪","白色")
    animal.bark()

26. s = 'b你好' python3 中,请把 s 转成 utf8 格式

#str 使用encode方法转化为 bytes�
#bytes通过decode转化为str
s = "b你好"
b = s.encode("utf8")
print(b)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 507评论 0 1
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,912评论 17 410
  • 1 趁着老板不在,周六下午开始休息了,喊上家人一起驱车到朋友的老家去度假,朋友的老家位置比较偏僻,但是听说空气特别...
    冬冬Steven阅读 247评论 0 1
  • 读完之后,我相信这是一本包治百病的书。 故事从两个年轻人的父母开始讲起,到他们相遇、相知、相爱,走完一生。从童年的...
    冰贰阅读 331评论 1 3
  • 2017.12.14 开始类似于演讲的训练了,才发现一个演讲真...
    UP夢行者阅读 121评论 3 1