python语言定义一个函数实现求各个数的倒数之和,Python基础1

2024-01-22 06:50

本文主要是介绍python语言定义一个函数实现求各个数的倒数之和,Python基础1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 新建一个pyhton工程:

a65371197d7d7ec448d91b93245dd738.png

527b6325031a4b7bc3af111fbc69c28f.png

c22b748662dea085a33d50ab1f3179ee.png

2 pycharm的几个常见用法:

调整快捷键:

4ab1698046f15a93b9e4d9656b06b155.png

python支持的数据类型:

整型:不会溢出

浮点

字符串:在""或者‘’之间,所以pyhton没有字符类型。

''' ''' 之间可以放置多行文本。

多行文本的另外一个作用,作为函数的注释使用。

print('''hello

world''')

字符串可以进行格式化拼接:

“格式字符串”%(需要格式化的数据列表)

例如:

print ("hello %d %x %s %f"%(100,200,"nihao",10.5))

python是弱类型语言,定义变量的时候,不需要指定类型。

a = 100

print(a)

b = "hello world"

c = 10.5

a = "hello 15PB"

print(a)

python中的运算符:

基本和C/C++一致,不一样的地方有:

1 逻辑运算符 and or not

2 算数运算符中,"/"能够得到整数与小数部分。 '//'只能得到整数部分。

3 ** 幂运算

a = int(input("please input a number"))

b = int(input("please input a number"))

c = a**b

d= a/b

e = b//(a+1)

print(e)

输入一个数,判断是奇数还是偶数

num = int(input("请输入一个数:"))

if num%2 == 0:

print("偶数")

else:

print("奇数")

输入1到7之间的数字,输入几就输出星期几:

day = int(input("请输入一个数:"))

if day<=1 or day>=8:

print("你输入的有错误")

if day==1:

print("星期一")

elif day==2:

print("星期二")

字符串操作:

\1. 去掉字符串左边或者右边的某种字符

a = "   hello world   "

b = "***hello*world***"

c = ""

#1 去掉字符串中的某个字符

print(a.strip())

print(b.strip("*"))

print(b.lstrip("*"))

print(b.rstrip("*"))

\2. 切分

#1 切分

b = "he*llo*wor*ld"

print(b.split("*"))

9bc6214b6662e306b92790b6a44e24c7.png

\3. 查找某一个子串的位置

b = "he*llo*wor*ld"

#3 查找某一个子串的位置

print(b.find("wo"))

bc038c63f211393fdc6b8bea4a43868d.png

\4. 查找某一个子串的数量

b = "he*llo*wor*lld"

#3 查找某一个子串的数量

print(b.count("ll"))

cca7de526380f88586be91e612500c9e.png

\5. 拼接

#1 切分,以某一个字符为标准,将字符串拆分成列表。

b = "he*llo*wor*ld"

l = b.split("*")

print(l)

#2 拼接,将列表中的内容拼成一个字符串

print("".join(l))

\6. 判断字符串是否以一个子串开头,是否以一个子串结尾

startswith()

endswith()

\7. 求字符串长度

len

\8. 切片

a = "hello world"

b = a[6:11]

c = a[0:6]

print(c,b)

切片的格式

[开始:结束:步长]

a = "hello world"

b = a[6:11:2]

c = a[0:6]

print(c,b)

e7ee4bd6feaa5a3c2fbffd501c3101bc.png

切片还可以负数

-1 代表的是最后一个元素,-2代表倒数第二个

a = "hello world"

b = a[-5:]

print(b)

bdacca2545d9b96c8d5587a19901bf50.png

列表(类似于vector,是动态数组)

[]

基本使用示例,和数组差不多。

li = [1,2,3,4,5]

print(li)

print(li[0])

print(li[1])

列表中的元素,不要求数据类型一致,可以存放任意类型的数据。

li = [100,10.5,"hello world",[1,2,3,4,5],200]

print(li[0])

print(li[1])

print(li[2][0])

print(li[3][2])

列表是一个类对象,有很多操作的函数:

1 求长度 len

li = [100,10.5,"hello world",[1,2,3,4,5],200]

print(len(li))

2 拼接

li1 = [100,10.5,[1,2,3,4,5],200]

li2 = ["hello"]

li3 = li1+li2

li4= 2*li3

print(li4)

3ac64c09628fce4c583b08d411429875.png

\3. 求最大值和最小值

#求最大值和最小值需要注意,类型需要是能进行比较的

li1 = [100,105,60,200]

print(max(li1))

print(min(li1))

\4. 比较两个列表

import operator

li1 = [1,2,3,4,5]

li2 = [1,2,3,4]

li3 = [5]

li2 = li2+li3

print(operator.eq(li1,li2))

\5. 列表的内置函数

append 添加到最后

insert 在任意位置插入数据

li1 = [1,2,3,4,5]

li1.append(100)

li1.insert(2,50)

print(li1)

cec78c847f40889aaaab123da1964724.png

pop 按照位置删除

remove 按照元素删除

import operator

li1 = [1,2,3,4,5]

li1.pop(2)   #按位置删除

li1.remove(4) #按元素删除

print(li1)

[]

index 查找某一个元素出现的位置

import operator

li1 = [1,2,"hello",4,5]

print(li1.index("hello"))

其他函数:

计数 : 某个元素出现的数量

count

排序:

sort 将列表中元素排序

反序:

reverse 将列表中元素顺序颠倒一下

追加:

extend 类似于+号的操作

li1 = [100,45,50,34,88,76,88]

print(li1.count(88))

li1.reverse()

print(li1)

li1.sort()

print(li1)

li1.reverse()

print(li1)

84ece97f0c8da59e7f3a490002875038.png

列表也是可以切片的,切片的规则和字符串是一样的

import operator

li1 = [100,45,50,34,88,76,88]

li2 = li1[0:3]

print(li2)

元组(类似于const的vector)

()

基本使用和列表是一样的,但是元组的元素是不能修改的。

e164ebfbdae83d737bb9e4f67d1eeaee.png

字典(类似于map)

字典的每一个元素,都是由键和键值组成的键值对:

键是不可改变的量:整型 字符串 元组,不可以是列表

键值是随意的:可以是列表

di = {1:"hello",2:"world","hello":[12,3]}

print(di[1])

di[1] = "nihao"

print(di[1])

print(di["hello"])

adf89c6f25f7cce680797a9ce7f459c3.png

setdefault:设置某一个键的键值,如果不存在这个键,就添加一个

del 直接删掉某一个元素

[键] = obj

get 获取某一个键的键值

has_key 查看是否存在这个键

其他:

keys() 得到所有的键 配合循环,可以遍历字典

import operator

di = {1:"hello",2:"world","hello":[12,3]}

print(di.keys())

0ddd225b11feed9908e8f39763429734.png

values() 得到所有的键值

深拷贝和浅拷贝的问题:

python中的标识符,都是存储的地址

li = [1,100,3,4,5]

li1 = li.copy()

li[0] = "hello"

print(li1)

2b9ab057773f9b04463da9164eee86b0.png

快速赋值的问题,python的元组和字典都可以快速赋值:

import operator

#元组或者列表能够整体赋值

li = (1,100,3,4,5)

a,b,c,d,e = li

print(c)

#不使用中间变量,交换两个数

a = 10

b = 20

a,b = [b,a]#(b,a)

print(a)

循环结构:

while的使用逻辑和C/C++一致

for一般用于遍历序列

遍历列表:

#1. 遍历列表

li = [10,20,15,30,45]

#for循环,每一次循环都会从列表中选出一个元素,一般用于遍历

for ele in li:

print(ele*2)

#同时输出索引和数值

for index,ele in enumerate(li):

print(index,ele)

遍历字典:

di = {100:"hello",200:"world",10:[1,2,3]}

for key in di.keys():

print(key,di[key])

17cc2720f96dd0abaabcd884503af0e2.png

循环可以跟else:

如果循环不是通过break跳出的,那么就会执行else的语句。

循环如果是正常结束的,就会执行else中的语句。

di = {100:"hello",200:"world",10:[1,2,3]}

for key in di.keys():

if key == 200:

print(key,di[key])

break

else:

print("循环正常退出")

python中函数的用法:

def add(a,b):

return a+b

def print_num(a):

print(a)

m = add(10,20)

print(m)

m = print_num(100)

print(m)

由于函数,可以传递任意类型,所以有时候,会在函数内部检测一下类型

def add(a,b):

if type(a)==int and type(b)==int:

return a+b

return None

m = add(10,[1,2,3])

print(m)

关键字传参:

def add(a,b):

print("a的值是%d"%(a))

return a+b

return None

m = add(10,20)

#可以直接指定参数名去传参,这种方式叫做关键字传参

n = add(b=100,a =200)

局部变量与全局变量:

通常定义在函数内的是局部变量,定义在函数外的是全局变量。

在函数内如果要使用全局变量,需要加上global进行声明:

sum = 10

def add(a):

#如果你想在函数内部使用全局变量,加global进行声明

global sum

for ele in a:

sum+=1

return sum

m = add("hello")

print(m,sum)

python允许在函数内部定义全局变量

def add(a):

#如果你想在函数内部使用全局变量,加global进行声明

sum = 0

global abc #这里就是声明abc是全局变量,可以在函数外部访问到

abc= 20

for ele in a:

sum+=1

return sum

m = add("hello")

print(m,abc)

可以查看到当前环境下的所有局部变量和全局变量

def add(a):

#如果你想在函数内部使用全局变量,加global进行声明

sum = 0

global abc

abc= 20

for ele in a:

sum+=1

print(locals())

return sum

m = add("hello")

print(globals())

900ab66b2ee5e7a6c9847412041ef71a.png

实现列表去重

List=[1,2,3,4,4,2,6,3,3,2]

List2=list(set(List))

print(List2)

输出1!+2!+3!+4!+5!的值

def fun (n):

if n ==1:

return 1

elif n == 2:

return 2

else:

return n*fun(n-1)

print(fun(1)+fun(2)+fun(3)+fun(4)+fun(5))

水仙花数

i=153

a = i % 10         #个位数值

b = (i // 10) % 10 #十位数值

c = (i // 100) % 10 #百位数值

d = a*a*a + b*b*b + c*c*c

print(d)

打印菱形图案

def fun(n):

for i in range(1, 2*n, 2):

j = int(((2*n-1) - i) / 2)

print(' ' * j + '*' * i + ' ' * j)

for i in range((2*n-1)-2, 0, -2):

j = int(((2*n-1) - i) / 2)

print(' ' * j + '*' * i + ' ' * j)

fun(10)

冒泡排序

List=[20,30,40,3,6,47,25,77,15]

for i in range(len(List)-1):

for j in range(len(List)-1-i):

if List[j] < List[j+1]:

List[j], List[j+1] = List[j+1], List[j]

print(List)

杨辉三角

def Yanghui():

n=[1]

while True:

yield n

n.append(0)

n=[n[i]+n[i-1]for i in range(len(n))]

def fun(n):

for i in Yanghui():

print(i)

n-=1

if n== 0:

break

fun(10)

标签:Python,基础,li,li1,print,100,列表,hello

来源: https://www.cnblogs.com/ltyandy/p/10969380.html

这篇关于python语言定义一个函数实现求各个数的倒数之和,Python基础1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/632176

相关文章

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放