

Python学习笔记002-更好组织和代码复用日程管理工具
source link: http://www.mrliangqi.com/1709.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Python学习笔记002-更好组织和代码复用日程管理工具
Python实战 2022-04-02 0 4
1.python中,通过return来实现函数内部值返回调用函数代码
<!–more–>
a= get_level(50)
b= get_level(80)
c= get_level(90)
def get_level(score):
if score > 80:
return “优秀”
elif score >60:
return “及格”
else:
return”不及格”
print(a,b,c)
<!–more–>
**2.整数和字符串不能直接拼接,需要先转换字符串**
def print_info (name,age,title):
print(“名字:”+name )
print(“年龄:”+str(age))
print(“编号:”+title)
print_info(“小明”,21,”实习生”)
**3.python函数分为 库函数和用户自定义函数**
len函数: 接受函数参数,类型是列表或者字符串,返回值为列表或者字符串的长度
print函数:接受一个或者多个字符串,把他们打印在屏幕上,没有返回值.
函数:通过函数的形式给代码起一个名字,之后只要在代码中执行这个函数就可以起到和代码一样的效果.
函数的参数: 当函数中用到的变量需要从外部传入时,这样的变量声明为参数.
调用函数时候根据需求传入不同的参数,使得同一个函数可以同时处理多个任务.
函数返回值:当函数需要把内部的结果告诉外面的调用方法时候,可以用过return语句实现.return后面的内容,成为这个函数的返回值.
4.任务管理小工具
任务描述:
1)新增待办 2)删除已有待办 3)标记一个待办为已完成 4)查看所有完成待办并区别展示
准备工作:
1)导入系统库函数 2)获取用户输入内容 3)清除之前打印的内容
任务分解:
软件设计->拆分->组合
1)功能拆分子需求 2)针对子需求代码实现 3)讲子需求代码组合成软件完整功能
功能分解:
管理(保存数据,增加删除操作) 打印菜单(打印菜单及当前待办) 用户输入(获取用户输入,执行命令)
任务代码实现:
import sys
class task:
def __init__ (self,text):
self.text= text
self.status= “未完成”
def mark_finished(self):
self.status =”已完成”
class tasklist:
def __init__(self):
self.tasks =[]
def add_task(self,task):
self.tasks.append(task)
def remove_task(self,idx):
del self.tasks[idx]
def get_finished_tasks(self):
result = []
for i in range(0,len(self.add_task)):
if self.tasks[i].status ==[“已完成”]:
result.append(self.add_task[i])
return result
def get_unfinished_tasks(self):
result =[]
for i in range (0,len(self.task)):
if self.task[i].staus ==”未完成”:
result.append(self.task[i])
return result
def print_menu():
print(“hello!”)
print(“请问希望做什么?”)
print(“1.添加待办”)
print(“2.删除待办”)
print(“3.标记待办完成”)
print(“4.推出”)
def print_tasks(finished,unfinished):
print(“unfinished:”)
for i in range(0,len(unfinished)):
print(i,unfinished[i].text)
print(“”)
print(“已经完成的待办:”)
for i in range (0,len(finished)):
print(i,finished[i].text)
print(“”)
def print_all_tasks(all_tasks):
for i in range(0,len(all_tasks)):
print(i,all_tasks[i].text)
while True:
my_task_list = tasklist()
finished_tasks = my_task_list.get_finished_tasks()
unfinished_tasks=my_task_list.get_unfinished_tasks()
print_tasks(finished_tasks, unfinished_tasks)
print_menu()
command= input(“输入序号”)
if command ==”1″:
text=input(“请输入待办添加的内容”)
task =task(text)
my_task_list.add_task(task)
elif command ==”2″:
clear_output()
print_all_tasks(my_task_list.tasks)
idx= input(“请输入想删除的待办序号”)
idx=int(idx)
my_task_list.remove_task(idx)
elif command == “3”:
clear_output()
print_all_tasks(my_task_list.tasks)
idx = input(“请输入希望标记完成的序号”)
idx= int(idx)
my_task_list.tasks[idx].mark_finished()
elif command ==”4″:
break
elif command ==”5″:
clear_output()
print_all_tasks(my_task_list.tasks)
idx=input(“请输入希望更改的序号”)
idx=int(idx)
new_text =input(“请输入新的待办内容”)
my_task_list.tasks[idx].text = new_text
5.总结 准备阶段-分解阶段
input和clear_output函数使用
input是对外部输入对话框接受 ,clear_output是来将之前打印的内容清除
实现方法 (分解,管理模块,打印模块,整合模块三部分)
实现模块: task,待办管理,tasklist,提供主要数据存储和操作
打印模块:tasklist类中的方法实现打印未完成和已完成的待办.
整合模块:通过while循环,调用打印模块和待办模块的实现菜单打印——用户输入–执行命令循环
执行命令的部分用if-elif-else语句,来对用户输入的不同命令进行处理
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK