2018-03-24 python 练习

字数 694阅读 117

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)

推荐阅读更多精彩内容

  • pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 ...
  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
  • 1 趁着老板不在,周六下午开始休息了,喊上家人一起驱车到朋友的老家去度假,朋友的老家位置比较偏僻,但是听说空气特别...
  • 读完之后,我相信这是一本包治百病的书。 故事从两个年轻人的父母开始讲起,到他们相遇、相知、相爱,走完一生。从童年的...