Python---函数练习:编写一个打招呼程序

函数的定义-------相关链接:Python---函数的作用,定义,使用步骤(调用步骤)-CSDN博客
基本语法:


def 函数名称([参数1, 参数2, ...]):
    函数体
    ...
    [return 返回值]

函数的调用
Python中,函数和变量一样,都是先定义后使用。


# 定义函数
def 函数名称([参数1, 参数2, ...]):
    函数体
    ...
    [return 返回值]

# 调用函数
函数名称(参数1, 参数2, ...)

① 使用Python代码,编写一个打招呼程序


第一步:见到一个老师,打一声招呼
print('您好')
第二步:见到一个老师,打一声招呼
print('您好')
第二步:见到一个老师,打一声招呼
print('您好')

虽然以上程序可以满足程序的需求,但是我们发现,我们的代码做了很多重复性的工作。我们能不能对以上代码进行进一步的优化,避免代码的重复性编写。

② 升级:使用Python代码,编写一个打招呼程序(函数——一次编写,多次利用)


# 定义函数(封装函数)
def greet():
    print('您好')

# 调用函数
# 见到一个老师,打一声招呼
greet()
# 见到一个老师,打一声招呼
greet()
# 见到一个老师,打一声招呼
greet()

③ 升级:使用Python代码编写一个打招呼程序,可以实现向不同的人打不同的招呼


# 定义一个函数,同时为其定义一个参数-------一般在调用时候的括号里,放一个参数
def greet(name):
    print(f'{name},您好')

# 调用函数
# 见到了张老师,打一声招呼
greet('老张')
# 见到了李老师,打一声招呼
greet('老李')
# 见到了王老师,打一声招呼
greet('老王')

④ 函数的设计原则“高内聚、低耦合”,函数执行完毕后,应该主动把数返回(return)给调用处,而不应该都交由print()等函数直接输出。


# 定义一个函数,拥有name参数,同时函数执行完毕后,拥有一个return返回值
def greet(name):
    # 执行一系列相关操作
    return name + ',您好'     # 函数执行完毕后,拥有一个return返回值  

# 调用函数
# 见到了张老师,打一声招呼
print(greet('老张'))  # 老张,您好
# 见到了李老师,打一声招呼-----\033[0;31;40m\t   \033[0m   终端颜色调整
print("\033[0;31;40m\t" + greet('老李') + "\033[0m")
# 见到了王老师,打一声招呼-----\033[0;31;40m\t \033[0m 终端颜色调整
print("\033[0;36;40m\t" + greet('老王') + "\033[0m")


 

其他:python终端打印带颜色的print


实现过程:

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以ESC开头, 即用\033
来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

书写格式:
开头部分:\033[显示方式;
前景色;
背景色m + 结尾部分:\033[0
m
解释:
开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
建议按照默认的格式规范书写。
对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[ ** * 开头,\033[0
m结尾。

数值表示的参数含义:
显示方式: 0(默认\)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋
红)、36(青色)、37(白色)
背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋
红)、46(青色)、47(白色)实现过程:

      终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
      转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。
 
书写格式:
     开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
     解释:
开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
建议按照默认的格式规范书写。
对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾。
 
数值表示的参数含义:
显示方式: 0(默认\)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:   30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
背景色:   40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/162444.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年【危险化学品经营单位安全管理人员】考试题及危险化学品经营单位安全管理人员模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试题是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位安全管理人员模拟试题,安全生产模拟考试一点通上危险化学品经营单位安全管理人员作业手机同步练习。…

MSYS2介绍及工具安装

0 Preface/Foreword 1 MSYS2 官网:MSYS2

服务容错之限流之 Tomcat 限流 Tomcat 线程池的拒绝策略

在文章开头,先和大家抛出两个问题: 每次提到服务限流为什么都不考虑基于 Tomcat 来做呢?大家有遇到过 Tomcat 线程池触发了拒绝策略吗? JUC 线程池 在谈 Tomcat 的线程池前,先看一下 JUC 中线程池的执行流程&#x…

[acwing周赛复盘] 第 94 场周赛20230311

[acwing周赛复盘] 第 94 场周赛20231118 总结5295. 三元组1. 题目描述2. 思路分析3. 代码实现 5296. 边的定向1. 题目描述2. 思路分析3. 代码实现 六、参考链接 总结 好久没做acw了,挺难的。T1 模拟T2 前缀和以及优化。T3 贪心 5295. 三元组 链接: 5295. 三元组…

操作系统(存储管理进程管理设备管理)

文章目录 存储管理页式存储管理概念优点缺点页面置换算法快表(很快速的页表) 段式存储管理概念优点缺点 段页式存储管理概念优点缺点 进程管理概述作用特征功能分类计算机启动基本流程 进程管理进程的组成进程的基础状态前趋图进程资源图同步和互斥信号量…

os.path.join函数用法

os.path.join()是Python中用于拼接文件路径的函数,它可以将多个字符串拼接成一个路径,并且会根据操作系统的规则自动使用合适的路径分隔符。 注:Linux用的是/分隔符,而Windows才用的是\。 该函数属于os.path模块,因此在…

解决Redis分布式锁宕机出现不可靠问题-zookeeper分布式锁

核心思想:当客户端要获取锁,则创建节点,使用完锁,则删除该节点。 客户端获取锁时,在 lock 节点下创建临时顺序节点。然后获取 lock下面的所有子节点,客户端获取到所有的子节点之后,如果发现自己…

DEEP-FRI: Sampling Outside the Box Improves Soundness论文学习笔记

1. 引言 前序博客有: DEEP FRI协议A summary on the FRI low degree test前2页导读RISC Zero的手撕STARKReed-Solomon Codes——RS纠错码Reed-Solomon Codes及其与RISC Zero zkVM的关系 Eli Ben-Sasson等人2019年论文《DEEP-FRI: Sampling Outside the Box Impro…

解决:微软在登录时总是弹出需要家长或监护人同意才能使用该账户并且不断循环?

目录 问题来源: 解决办法: 问题来源: 我的edge浏览器账号登录,一直弹出来需要家长或监护人同意才能使用,然后按照提示操作,会一直循环,是个无穷循环。 解决办法: 参考&#xff1…

【Java 进阶篇】唤醒好运:JQuery 抽奖案例详解

在现代社交网络和电商平台中,抽奖活动成为吸引用户、提升用户参与度的一种常见手段。通过精心设计的抽奖页面,不仅可以增加用户的互动体验,还能在一定程度上提高品牌的知名度。本篇博客将通过详细解析 JQuery 抽奖案例,带领你走进…

Linux:firewalled服务常规操作汇总

一、firewalled防火墙工作原理 firewalled的内部结构,可以简单的看做下图,有两个集合,一个集合管理关闭的端口,另一个集合管理放开的端口。 二、常用操作 1、开启和关闭防火墙 临时性配置: systemctl [start | stop …

【Java 进阶篇】插上翅膀:JQuery 插件机制详解

在前端开发中,JQuery 作为一个广泛应用的 JavaScript 库,为开发者提供了丰富的工具和方法,简化了 DOM 操作、事件处理等繁琐的任务。而在这个庞大的生态系统中,插件机制是 JQuery 的一项重要特性,使得开发者能够轻松地…

电磁场与电磁波part4--时变电磁场

1、采用洛伦兹条件使得矢量位 与标量位 分离在两个独立的方程中,且矢量位 仅与电流密度 有关,而标量位 仅与电荷密度 有关。 2、电磁能量守恒定理(坡印廷定理) 即减少的电磁能量电磁场所做的功流出的电磁能量 3、设u(r,t)是…

【双指针】复写0

复写0 1089. 复写零 - 力扣(LeetCode) 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上…

Git命令总结-常用-后续使用频繁的再添加~

Git命令总结-常用 久了不用,有些时候老是会忘记一些命令,多的都记录一下,方便查找 git init 初始化一个Git仓库,执行完git init命令后,会生成一个**.git**目录,该目录包含了资源数据,且只会在…

新增文章分类

pojo.Category package com.lin.springboot01.pojo;import jakarta.validation.constraints.NotEmpty; import lombok.Data;import java.time.LocalDateTime;Data public class Category {private Integer id;//主键NotEmptyprivate String categoryName;//分类名称NotEmptypr…

redis cluster搭建

k8s部署 Redis Insight k8s部署redis集群_mob6454cc6c6291的技术博客_51CTO博客 占用的内存竟然这么小,才200M左右 随便选个节点进去,看能否连接上其他节点 redis-cli -h redis-cluster-v1-0.redis-cluster.project-gulimall.svc.cluster.local 再创建个…

【总结】I/O接口中的数据线,地址线,控制线,状态线传输什么信息?

数据线 方向:双向功能:在内存、寄存器和数据缓冲寄存器进行数据交换;接口和设备的状态信息也通过数据线传给CPU(这里的状态指的是设备独有的,和状态线中的忙碌、空闲相区别);CPU对外设的控制命…

tomcat8.5处理get请求时,控制台输出中文乱码问题的解决

问题描述 控制台输出中文乱码 版本信息 我使用的是tomcat8.5 问题解决 配置web.xml 注&#xff1a;SpringMVC中处理编码的过滤器一定要配置到其他过滤器之前&#xff0c;否则无效 <!--配置springMVC的编码过滤器--> <filter><filter-name>CharacterEn…

Lstm+transformer的刀具磨损预测

视频讲解: 基于Lstm+transformer的刀具磨损预测实战_哔哩哔哩_bilibili 结果展示: 数据展示: 主要代码: # pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/ # pip install optuna -i https://pypi.tuna.tsinghua.edu.cn/simple/ import numpy as np…