首页 > 编程语言 >python随笔day01

python随笔day01

时间:2024-07-05 23:41:16浏览次数:23  
标签:python s2 day01 print Output 随笔 True id s1

python随笔day01

1.不使用中间变量,交换两个变量的值?

#方法一:
a = 10
b = 20
print(f"a={a}, b={b}")
a, b = b, a
print(f"a={a}, b={b}")

#方法二:相加减
a = 10
b = 20
print(f"a={a}, b={b}")
a = a + b
b = a - b
a = a - b
print(f"a={a}, b={b}")

#方法三:异或运算符(^)
a = 10
b = 20
print(f"a={a}, b={b}")
a = a ^ b
print(a)#30
b = a ^ b
print(b)#10
a = a ^ b
print(a)#20
print(f"a={a}, b={b}")

2.打印九九乘法表

for i in range (1, 10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}", end="\t")
    print(" ")

3.update作用是连接两个字典

dict1={"one":1,"two":2,"three":3}
dict2={"four":4,"five":5,"six":6}
dict1.update(dict2)
print(dict1)# Output: {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}

4.执行下面代码,输入0的时候会到zero异常处理

dividend = 1
divide =int(input("请输入除数:"))
try:
    result = dividend / divide
    print("结果为:", result)
except ZeroDivisionError:
    print("除数不能为0!")#除数为零跳到这里
except Exception:
    print("未知错误!")
else:
    print("正常执行!")

5.辗转相除法求最大公约数和最小公倍数

#最大公约数和最小公倍数(辗转相除法)
#最大公约数
def gcd(a, b):
    while b!=0:
        a,b = b, a%b
    return a
#最小公倍数=a*b//最大公约数
def lcm(a, b):
    return  a*b//gcd(a,b)

number1 = int(input("请输入第一个数字:"))
number2 = int(input("请输入第二个数字:"))
print("最大公约数为:", gcd(number1, number2))
print("最小公倍数为:", lcm(number1, number2))

6.字符串中find方法

#find中的两个参数,第一个参数是要查找的字符串,第二个参数是开始查找的索引位置,如果没有找到,则返回-1。
str1 = "exam is a example!"
str2 = "exam"
print(str1.find(str2,7))#10,返回索引值

7.子串验证方法

#子串验证
s1='aabbcc'
s2='abc'
#find()方法一:
find = s1.find(s2)
if find != -1:
    print("s2 是 s1 的子串")
else:
    print("s2 不是 s1 的子串")
#count()方法二:
count = s1.count(s2)#个数
if count >0:
    print("s2 是 s1 的子串")
else:
    print("s2 不是 s1 的子串")
#in()方法三:
if s2 in s1:
    print("s2 是 s1 的子串")
else:
    print("s2 不是 s1 的子串")
#index()方法:
if s2 in s1:
    print("s2 是 s1 的子串,位置为:",s1.index(s2))
else:
    print("s2 不是 s1 的子串")

8.is 和 == 的区别

is用于判断两个变量引用对象是否为同一个,即比较两个对象在内存中的地址是否一样,而==用于判断引用变量的值是否相等。

对于不可变对象(如整数、浮点数、字符串、元组等),它们可能在内存中共享同一个地址,此时 is也会返回True。

对于可变对象(如列表、字典等),即使两个对象的值看起来相同,它们也一定是在内存中独立的两个对象,因此 is运算符会返回False。

#字符串
x = '123'
y = '123'
print(x is y) # Output: True
print(x == y) # Output: True
print(id(x),id(y))#1973353912880 1973353912880
#数字
a = 123
b = 123
print(x is y) # Output: True
print(x == y) # Output: True
print(id(a),id(b))#140720082690664 140720082690664
#列表
c = [1,2,3]
d = [1,2,3]
print(c is d) # Output: False
print(c == d) # Output: True
print(id(c),id(d))#1973353913472 1973354455488
#字典
e = {'one':1,'two':2,'three':3}
f = {'one':1,'two':2,'three':3}
print(e is f) # Output: False
print(e == f) # Output: True
print(id(e),id(f))#1973353912448 1973354005312
#元组
g = (1,2,3)
h = (1,2,3)
print(g is h) # Output: True
print(g == h) # Output: True
print(id(g),id(h))#2662364434560 2662364434560
#集合
i = {1,2,3}
j = {1,2,3}
print(i is j) # Output: False
print(i == j) # Output: True
print(id(i),id(j))#1979144783904 1979145134016
#布尔值
k = True
l = True
print(k is l) # Output: True
print(k == l) # Output: True
print(id(k),id(l))#140720081218080 140720081218080
#None
m = None
n = None
print(m is n) # Output: True
print(m == n) # Output: True
print(id(m),id(n))#140720081300208 140720081300208

9.list列表插入insert方法

列表的三种插入方法:

append() 增加指定数据到列表中
extend() 列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
insert() 指定位置新增数据

insert有两个参数,一个是要插入的位置,一个是插入的值

list1 = [1,2,3,4,5]
list1.insert(2,[1,2,3,4])
print(list1) # Output: [1, 2, [1, 2, 3, 4], 3, 4, 5]

10.编写一个函数,有一个参数str1,输入信息如'1.2.3.4.5',使用函数对齐进行处理,要求最终的返回结果为'5-4-3-2-1'。

#方法一:使用字符串的replace()方法
def left(str1):
    str = str1[::-1]
    str = str.replace(".","-")
    return str
#方法二:使用列表的reverse()方法和join()方法
def right(str1):
    str =str1.split(".")
    str.reverse()
    str = "-".join(str)
    return str

str1 = input("类似'1.2.3.4.5'的输入:")
print(left(str1))
print(right(str1))

11.sets是无序的,不能用下标访问元素

sets = {1, 2, 3, 4, 5}
#print(sets[2])#会报错,因为sets是无序的,所以不能用下标访问元素

标签:python,s2,day01,print,Output,随笔,True,id,s1
From: https://www.cnblogs.com/zlik8991/p/18286773

相关文章

  • Python在网络爬虫和数据抓取中的应用
    Python在网络爬虫和数据抓取中的应用引言在数字化时代,数据的价值日益凸显。无论是市场趋势分析,还是个人偏好预测,数据都扮演着至关重要的角色。Python,作为一种功能强大、语法简洁的编程语言,为数据的获取、处理和分析提供了一整套解决方案。本文将带您深入了解Python在网络......
  • python笔记day01
    python随笔day011.不使用中间变量,交换两个变量的值?#方法一:a=10b=20print(f"a={a},b={b}")a,b=b,aprint(f"a={a},b={b}")#方法二:相加减a=10b=20print(f"a={a},b={b}")a=a+bb=a-ba=a-bprint(f"a={a},b={b}")#方......
  • ChatGPT对话:Python程序自动模拟操作网页,无法弹出下拉列表框
    【编者按】需要编写Python程序自动模拟操作网页。编者有编程经验,但没有前端编程经验,完全不知道如何编写这种程序。通过与ChatGPT讨论,1天完成了任务。因为没有这类程序的编程经验,需要边学习,边编程,遇到问题再网上查资料。如果没有ChatGPT,估计至少需要5天时间。从登录开始模拟......
  • python批量修改文件后缀名
    python批量修改文件后缀名 importosimportglobdefbatch_rename_files(source_dir,old_extension,new_extension):#确保新的文件名不会与现有文件冲突defget_new_name(file_path,new_extension):base_name=os.path.splitext(file_path)[0]......
  • 使用Python和scikit-learn实现支持向量机(SVM)
            支持向量机(SupportVectorMachine,SVM)是一种强大的监督学习算法,广泛用于分类和回归问题。它能够有效处理线性和非线性数据,并在复杂数据集中表现出色。本文将介绍如何使用Python和scikit-learn库实现SVM,以及如何通过可视化不同参数设置来理解其工作原理。一、......
  • python简单入门(五)
    一、面对对象程序设计基础1. 面对对象程序设计思想概述面向对象程序设计(Object-OrientedProgramming,简称OOP)是一种编程范式,它将数据和操作数据的方法封装在一个对象中。这种方法强调的是将现实世界中的实体抽象为对象,每个对象都有其独特的属性和行为。在Python中,面向对象......
  • Web学习day01
    MySQL基础目录MySQL基础文章目录一、数据库介绍1.1概述1.2SQL分类二、SQL基础操作2.1连接数据库2.2操作数据库2.3操作数据表2.4数据增删改2.5数据查询2.5.1简单查询2.5.2条件查询2.5.3聚合函数2.5.4分组2.5.5排序2.5.6分页总结一、数据库介绍1.1概......
  • 极限学习机(Extreme Learning Machine,ELM)及其Python和MATLAB实现
    极限学习机(ExtremeLearningMachine,ELM)是一种快速而有效的机器学习算法,最初由马洪亮等人于2006年提出。ELM是一种单隐层前馈神经网络,其背景源于对传统神经网络训练过程中反向传播算法的改进与优化。相比传统神经网络,ELM在网络训练速度上具有明显优势,同时在一些实际应用中取得......
  • 蝙蝠优化算法(Bat Algorithm,BA)及其Python和MATLAB实现
    蝙蝠优化算法(BatAlgorithm,简称BA)是一种基于蝙蝠群体行为的启发式优化算法,由Xin-SheYang于2010年提出。该算法模拟了蝙蝠捕食时在探测目标、适应环境和调整自身位置等过程中的行为,通过改进搜索过程来实现优化问题的求解。蝙蝠群体中每一只蝙蝠代表一个潜在解,在搜索过程中,蝙蝠......
  • 2024/7/5 随笔+刷题笔记
    2024/7/7就要去重庆集训了(今天上午复习了一下网络流和dicnic:P3376【模板】网络最大流https://www.luogu.com.cn/problem/P3376借鉴一篇题解的思路;定义有向图,n点m边。源点s,汇点tc(x,y)为边的容量,允许的最大流量函数的三大性质:容量限制:每条边的流量总不可能大于该边的容量......