python(day006——函数1)

第六章第二十题(计算一个字符串中字母的个数)(Count the letters in a string) 下面是参考答案代码: 运行效果: 注:编写程序要养成良好习惯 1.文件名要用英文,具体一点 2.注释要英文 3.变量命名要具体,不要抽象(如:a,b,c等等),形式要驼峰化 4.整体书写风格要统一(不要这里是驼峰,那里是下划线,这里的逻辑段落空三行,那里相同的逻辑段落空5行等等) 5.普通变量,方法名要小驼峰,类名要大驼峰,常量要使用全部大写加上下划线命名法 6.要学习相应的代码编辑器的一些常用快... 阅读详情

1.有参数函数

def count_letters(s):
    """此函数主要用于统计字符串中的字符个数"""
    result=0
    for i in s:
        result+=1
    return result

print(count_letters("hhuefla"))

print(count_letters("ehufe13jfef"))

练习:写一个函数,计算一个列表的数字类型的总和。

def count_list_letters(l):
    if not isinstance(l,list):  #判断传参是否为list。和java不一样,java传参有类型
        return 0  #return 0被执行的话,那么函数后面所有代码不执行
    result=0
    for i  in l:
        if isinstance(i,int):
            result+=i
    return result

list1=[1,5,"3",3,"34r4"]
list2=['helle',11,3,'eva','2']
print(count_list_letters(list1))  #1+5+3=9
print(count_list_letters(list2))  #11+3=14

重点:函数的内部,一定要判断传入参数的类型是否期望的类型。如果不是,想清楚怎么容错。如果是,再继续计算。

***命名参数:命名参数必须在非命名参数的后面,否则报错

>>> def print_str(a,b):
...    print (a)
...    print (b)
...
>>> print_str("x","y")
x
y
>>> print_str(b="x",a="y")
y
x
>>> print_str(b="x","y")  #报错原因:命名参数在前
  File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument

>>> print_str(a="x","y")  ##报错原因:命名参数在前
  File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument

>>> print_str("x",a="y")  #报错原因:重复传参
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: print_str() got multiple values for argument 'a'

>>> print_str("x",b="y")
x
y

2.无参数函数

def a():
    for i in range(5):
        print ("*"*(i+1))

a()
print("--------------")
print(a())

练习:写一个函数,返回五个随机字母。

import string
import random
def five_random_letters():
    """返回五个随机字母"""
    s=[]
    for i in range(5):
        s+=random.choice(string.ascii_letters)
    return("".join(s))

print(five_random_letters())

练习:通过参数控制返回长度

import string
import random
def random_letters(n):
    """返回n个随机字母"""
    if not isinstance(n,int):
        return ""
    s=[]
    for i in range(n):
        s+=random.choice(string.ascii_letters)
    return("".join(s))

print(random_letters(9))

 

#方法一:
import random
import string
def random_letters(n,type):
    """生成n个字母的随机字母
       type类型为:lower(小写)和upper(大写)"""
    if not isinstance(n,int):
        return ""
    if not(type =="lower" or type=="upper"):
        return ""
    if type=="lower":  #使用random.sample(),随机取n个值,返回list
        s=''.join(random.sample(string.ascii_lowercase,n))
    else:
        s=''.join(random.sample(string.ascii_uppercase,n))
    return s

print(random_letters(5,"lower"))
print(random_letters(7,"upper"))

#方法二:
import random
import string
def random_letters(n,type):
    """生成n个字母的随机字母
       type类型为:lower(小写)和upper(大写)"""
    if not isinstance(n,int):
        return ""
    if not(type =="lower" or type=="upper"):
        return ""
    s=''
    for i in range(n):
        if type=="lower":
            s+=chr(random.randint(97,122))
            #s += str(random.choice(string.ascii_lowercase))
        else:
            #s+=chr(random.randint(65,90))
            s += str(random.choice(string.ascii_uppercase))
    return s

print(random_letters(5,"lower"))
print(random_letters(7,"upper"))

3.内置函数

注:内建函数可以被覆盖,所以不要用内建函数命名

type(sum)
<class 'builtin_function_or_method'>
sum([1,23])
24
sum=1  #用内置函数命名,导致内置无法使用
sum([1,23])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'int' object is not callable
del sum  #恢复内置函数
sum([1,23])
24

 

 

 

车载网络测试实操源码_使用CAPL解析VBF文件 VBF(Versatile Binary Format)文件是一种二进制文件格式,被沃尔沃、福特、马自达、吉利等汽车制造商广泛采用。这种格式无法使用我们常规的烧录器进行刷写,通常需要进行解析转化。如果各位需要自己编写软件或脚本来刷写VBF文件,或者需要对刷写功能进行测试时,那么本篇文章就会对你非常有用。今天我们就来讲一下如何使用CAPL脚本对VBF文件进行数据解析。VBF文件包含三部分:VBF版本段、文件头段、数据段。前面的版本段和文件头段是ASCII码,包含版本、地址、校验码等信息 阅读详情

相关推荐

海康摄像头RTSP流延迟优化实战:从VLC到OpenCV的5种方案对比与性能调优

本文针对海康摄像头RTSP流的高延迟问题,深入剖析了延迟根源,并系统对比了从VLC、OpenCV到海康官方SDK、FFmpeg及硬件加速等五种主流方案的性能表现。重点分享了缓冲区设置、协议优化、多线程架构与硬件解码等实战调优技巧,旨在帮助开发者将视频流延迟从秒级优化至毫秒级,满足工业检测、安防监控等高实时性场景需求。

hh234的博客 806

【学习笔记】函数一

函数 查看所有内置函数 dir(builtins) 查看个别函数使用方法:help(“name”) 定义函数 def a2_333(): … pass … a2_333 <function a2_333 at 0x0000000001CF1E18> a2_333: ----调用函数 定义函数第一个必须是字母,用 def来定义函数,紧跟函数名,然后括号...

HarrietHai的博客 325

如何用 Python 实现自动化测试?详细步骤和代码示例

Python自动化测试实战指南 本文系统介绍了使用Python构建自动化测试体系的完整方案。主要内容包括: 环境搭建:Python 3.8+虚拟环境配置,安装pytest、Selenium等核心测试库 分层测试实现: 单元测试:通过计算器示例演示pytest断言和异常测试 API测试:使用requests库进行RESTful接口验证 UI测试:Selenium WebDriver实现网页交互测试 高级特性: 使用fixture管理测试依赖 参数化实现数据驱动测试 生成HTML和Allure测试报告 GitH

m0_64424835的博客 452

Python 函数_参数

第6次预习课_函数 函数_好处 减少代码的重复编写 def f(): return 小练习1: 写一个除法函数,需要处理除数不能为0 def div(a,b): if not isinstance(a,(int,float)): return None if not isinstance(b,(int,float)): return None if b == 0: return None retu...

qq_42845478的博客 272

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线

在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如

weixin_31766003的博客 285

Rocky Linux 8.10下用cephadm快速搭建Ceph集群(附华为云镜像源配置)

本文详细介绍了在Rocky Linux 8.10操作系统上使用cephadm快速部署Ceph集群的实战指南,包括环境准备、系统配置、华为云镜像源优化、集群初始化及节点扩展等关键步骤。通过配置华为云镜像源,显著提升部署效率,适合企业级存储解决方案的需求。

weixin_30839881的博客 148

【Python】获得列表中每个元素出现的次数(最优方法)

周五的时候,leader给我了一个数据分析的小任务,其中第一步就是从数据库里读取代码,然后统计某一列元素出现的次数。说是小任务,其实也不怎么小,大概十亿条数据吧。。。嘤嘤嘤。。。。 然后我一看,这个好眼熟,我以前做过呀,先新建一个字典,key对应数据库那一列对应的元素,value存储元素个数,然后对数据库里每个元素进行判断,如果有相同的key,则value+1,如果没有,那么就新增这个key,并...

sunshine__0411的博客 3万+

torch.jit.script 与 torch.jit.trace

它们是 PyTorch 的即时编译(Just-in-Time Compilation)模块的一部分,用于提高模型的执行效率并支持模型的部署。方法只跟踪了给定输入张量的执行路径,因此在使用转换后的模块对象进行推理时,输入张量的维度和数据类型必须与跟踪时使用的相同。跟踪模型可以看作是一个具有相同功能的脚本模型,但它还保留了原始模型的动态特性,可以使用更多高级特性,如动态图和控制流。它接受一个模型和一个示例输入,并记录模型在给定输入上的执行过程,然后返回一个跟踪模型。的模型文件,并将其转换为评估模式。

leoatliang的博客 1万+

python生成n个随机(大小写)字母

python生成n个随机(大小写)字母 ①生成一个随机(大小写)字母字符串a_str ②判断列表长度是否小于n ③从a_str中随机抽取一个字母 ④判断抽取的字母是否在列表中存在 ⑤如果不存在,则添加进列表 重复步骤②到⑤ 看代码: import string import random n_int = int(input("请输入随机字母个数:")) def random_letters(...

Black_Atom的博客 2万+

电赛经验分享——赛前准备

⏩ 大家好哇!我是小光,想要成为系统架构师的嵌入式爱好者。⏩在之前的电赛中取得了省一的成绩,本文对电赛比赛前需要准备什么做一个经验分享。加入小光嵌入式交流群(qq群号:737327353)免费获取博主所有资料哦!

qq_52608074的博客 7779

手把手教你在ARM64架构下编译和部署Milvus:从环境搭建到Docker镜像制作全攻略

本文详细介绍了如何在ARM64架构下编译和部署Milvus,包括环境搭建、源码下载与编译、Docker镜像制作等关键步骤。通过本文的方法,您可以快速构建适用于ARM64设备的Milvus编译环境,并解决常见的编译错误。同时,还提供了基于Docker Compose的测试方法,帮助用户高效地完成向量数据库的部署与应用。这是一次深入探索开源AI工具的实用指南,为开发者在多种硬件架构上的创新应用提供了强有力的支持。

小盒子的博客 1268

Day006: Python 中的输入与输出函数

在 Python 编程中,输入与输出是与用户进行交互的重要方式。通过输入函数,我们可以获取用户输入的数据;通过输出函数,我们可以向用户展示程序的运行结果。本篇文章将详细介绍 Python 中的输入与输出函数,包括它们的用法、示例以及一些常见的应用场景。

u014481728的博客 1395

1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目

本文介绍如何在 SAP ABAP 事物码 SEGW 里创建 SEGW 项目,使用工具生成 Runtime 运行时需要的资源。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5443

day006-python函数

一、定义函数  def 函数名():     函数体代码   例:   #定义函数   def email():     print('send email')   #调用执行函数   email() 二、函数的返回值   def email():     print("send email")     return "发送成功" #没有return,...

218

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

《Python数学编程》练习-day006:编写一个计算程序(1)

《Python数学编程》练习-day006:编写一个计算程序(1) 提示→《Python数学编程》练习系列往期笔记,如下 ????: Day1:《Python数学编程》练习-day001:斐波那契序列 Day2:《Python数学编程》练习-day002:分数操作 Day3:《Python数学编程》练习-day003:基本数学运算 Day4:《Python书序编程》练习-day004:复数 Day5:《Python书序编程》练习-day005:数值输入 提示:菜鸟一枚,此系列文主要是用于我自己的学习记录,

feizhang231的博客 1042

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

day-006--函数和模块的使用

函数和模块的使用 1.函数就是一些可以重复工作的代码,搞在一起,省事, 2.关键字是def 格式: def foo(): #do what you want #return what you want 3.参数的定义 就是在函数 foo() 的括号里加上想传的参数 比如 def addtest1(a):# 标准玩法 c = a + 8 ...

weixin_36628778的博客 561

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python学习day006--函数和模块的使用

为什么要引入函数 假如我们想要寻找1-100之间的质数,那么我们通过编写一个for in 就可以实现,然后我们又想找1-1000之间的质数呢?有一种方法就是再写一个for in。万一我们还要再找1-100000呢,再写一个吗?明显不是,这样子会造成程序片段的重复,而我们知道“代码有很多种坏味道,重复是最坏的一种。” 所以我们写一个函数用来求质数,一旦需要我们求质数,我们便调用即可。 定义函数 类比...

qq_43720551的博客 276

PYTHON 100days学习笔记006:函数和模块的使用

目录 Day006:函数和模块的使用 1.函数的作用 2.定义函数 2.1 语法 2.2 实例 2.3 函数的调用 4.函数的参数 4.1 必须参数 4.2 关键字参数 4.3 默认参...

weixin_30518397的博客 313

笔记 day006

元组 tuple 序列类型的数据 声明 tuple1 = (1,2,3) 声明空元组 tuple1 = () 声明一个元素的元组 tuple1 = (1,) 索引 tuple1[0] 如果超出范围, 报异常 运算符 len() min() max() tuple(list1) in not in del tuple1 : 删除...

Captain_DUDU的博客 178

Python学习day006

01默认值 def describe_grade(name,grade="80"): '''显示学生成绩''' print(name.title()+"'s score is "+grade+".") #使用默认值方式调用函数 describe_grade("aass") #调用函数,并为所有形参提供实参 describe_grade("rrrw","100") Aass's score is 80. Rrrw's score is 100. 02默认值 #全局变量可在函数体外访问该变量

qq_54670701的博客 143

day006 总结

流程控制之for循环 while循环可以循环一切事物 for循环提供了一种手段,不依赖索引取值 for 变量名(会拿到容器类元素的每一个值,没有了就结束循环) in 容器类元素: print(变量名) 对于字典,for循环只能拿到Key for+break for i in range(0,50): if i==25: break#中断循环 pr...

aimang0159的博客 135

Day006|Python语法基础

今天是Andy学Python的第6天哦! 大家好,我是Andy。 Python程序一般由两部分组成: 模块导入部分:Python有丰富的代码库资源,编写Python代码时,我们需要依赖很多外部代码库以提高效率,避免重复造轮子。 代码正文部分:从设计到变量的赋值、业务逻辑的实现。 01. 模块导入 使用模块之前,必须先导入(import):意味着要让Python知道从哪获取模块,可使用语法import+[模块名]导入模块,将[模块名]替换为希望导入的模块名字。导入模块之后,即可使用其中的..

Andy_Robbins的博客 319

Day04-Python基础函数

一.函数的对象:函数是第一类对象,即函数可以当作数据传递 1.可以被引用 def foo(): print('from foo') func=foo ##foo值赋给了func print(foo) ##<function foo at 0x006E4108> print(func) ##<function foo a...

CJ2680678884的博客 198

《Python数学编程》练习-day011: matplotlib(1)

《Python数学编程》练习-day011:matplotlib(1) 提示→《Python数学编程》练习系列往期笔记,如下 ????: Day1:《Python数学编程》练习-day001:斐波那契序列 Day2:《Python数学编程》练习-day002:分数操作 Day3:《Python数学编程》练习-day003:基本数学运算 Day4:《Python书序编程》练习-day004:复数 Day5:《Python书序编程》练习-day005:数值输入 Day6:《Python书序编程》练习-day00

feizhang231的博客 1365

day3_(2)_l1-006连续因子

try(代码段)-except(抛出异常)-else(无异常继续)-finally(退出区)笨办法,没有大佬的巧,有超时。

qq_53646158的博客 250

PYTHON基础-DAY1 20210401

PYTHON基础-DAY1 目录PYTHON基础-DAY1001 python介绍002 python下载 安装 配置003 开发环境介绍—交互模式的使用IDLE介绍和使用004 IDLE开发环境的使用—建立Python源文件005 Python程序格式:缩进/行注释/段注释006 简单错误如何处理007 008 海龟绘图—图形化程序设计009 程序的构成010 对象的基本组成和内存示意图011 引用的本质:栈内存和堆内存012 标识符013 变量:声明、初始化、删除变量 001 python介绍 pyt

weixin_47442524的博客 171
上一篇: python(day005——基础知识5)
下一篇: python(day007——函数2)
王总总
博客等级 码龄8年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值