学习大数据DAY28 python基础语法

news2024/11/14 12:21:48

目录

思维导图

数据类型

变量

输入

输出

运算符

bool 类型

常量变量拼接

流程控制

选择结构 if

循环结构 while 及 for 循环

字符串(String)

字符串的索引截取

索引

1.len() #获取字符串长度

2.str.find()字符查找 ,找到返回索引,没找到返回-1

3.str.rfind() #代表从右侧开始查找

4.str.strip() #删除任何前导(开头的空格)和尾随(结尾的空格)字符。

5.str.isdigit() #所有字符都是数字sname="he54ll999"

6.str.count() #统计字符串里某个字符或子字符串出现的次数

7.str.replace() #字符替换

上机练习 1

list(列表)

列表的常用操作

字符串与列表转换

上机练习 2


思维导图

一天就学这么多,不过还好我大学学过 python 了,(但是一年没用过了)
就当记忆修复了。

数据类型

数字型:bool int float
非数字型:str list tuple set dict
日期型:time datetime

变量

n=8
s="hello"
m='world'
print(n)
print(m,s)多个参数以空格隔开
通过 type(变量名字)查看类型

输入

使用 input 函数来接收用户从键盘输入,input 输入的内容是字符串型
passwd=input("请输入密码:")
print(type(passwd))
我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。

输出

print()函数用来将信息输出到控制台
print("ab")
print("cd",end="")
可以指定以什么结尾显示
print("cd",end="*")
print("ef")

运算符

算数:+ - * / %(取余) **(幂) //(取商)
比较:== != > >= < <=
赋值:= += -= 等
逻辑:and or not

bool 类型

jg=3>2
xb=False
print(jg)
print(xb)

常量变量拼接

#小明学号为 00001,年龄为 18 岁,身高为 1.79 米
sno=1
age=18
sname="小明"
high=1.786 print("姓名是:"+str(sno))
print(sno+age+high)
print(f"{sname}学号为{sno},年龄为{age}岁,身高为{high}米")
print(f"{sname}学号为{sno:05d},年龄为{age}岁,身高为{high:.2f}米")

流程控制

选择结构 if

sex="女"
if sex=="男":
print("打游戏")
elif sex=="女":
print("去逛街")
else:
print("其他")
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,缩进采用 Tab 键或者 4 个空格,相同缩进组成一个
语句块。
3、在 Python 中没有 case 语句。

循环结构 while 及 for 循环

# 循环输出 1-10 数字
i= 1
while i<=10:
print(i)
i+=1
# 字符串可以直接循环输出里面的字符
names="hello world*你好"
for i in names:
print(i)
# 数值范围
for i in range(10):
print(i)
你也可以使用 range 指定区间的值:range(5,9),左闭右开
也可以使 range 以指定数字开始并指定不同的增量(有时这也叫做'步长
'):range(0, 10, 3)

字符串(String)

字符串的索引截取

变量名[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
使用三引号(''' 或 """)可以指定一个多行字符串,*代表复制。
# 索引切片
s="abcsdfsdf"
print(s[2])
print(s[0:4]) # 做切片的时候,是左闭右开的,也就是不包括右边数字对应的下标

索引

print(s[2:])
print(s[0:6:2]) # 步长为 2
print(s*3)
# 保留格式输出
s ="""string
is good"""
print(s)

1.len() #获取字符串长度

str="today"
l=len(str)

2.str.find()字符查找 ,找到返回索引,没找到返回-1

name = "LionelLionel"
name.find("i")
name.find("i",3)
name.find("i",1,2) # 代表开始索引和结束索引

3.str.rfind() #代表从右侧开始查找

4.str.strip() #删除任何前导(开头的空格)和尾随(结尾的空格)字符。

# 左右空白
name = " liubei "
print(name.strip())
name = "***liubei,,, ***"
print(name.strip("* ,"))

5.str.isdigit() #所有字符都是数字sname="he54ll999"

for i in sname:
if i.isdigit():
print(i)

6.str.count() #统计字符串里某个字符或子字符串出现的次数

print(sname.count("l")) # 简单写法
# 原始写法,统计出现子字符串的次数
n=0
sname="hellotesthellottsdfrllsdlsl"
for i in sname:
if i=="l":
n+=1
print(n)

7.str.replace() #字符替换

txt = "Google#Run,oob#Taobao#Facebook"
print(txt.replace("o","ff"))
print(txt.replace("o","ff",2))

上机练习 1

# 1.定一个浮点型,将其转成 int 类型,观察取整后截断情况
# f=7.9
# print(int(f))
# 2.定义一个整型,将其转成 float,再计算其平方
# i=9
# print(float(i)**2)
# 3.输入两个变量 n1 和 n2,转换为 int,计算两个数的取余和取商
# n1=input()
# n2=input()
# print(int(n1)%int(n2),int(n1)//int(n2))
# 4.使用 input 接收你的名字和班级,输出“我是 XX,在大数据培训中心 xx班学习”
# name=input("输入你的名字:")
# c=input("输入班级:")
# print(f"我是{name},在大数据培训中心{c}班学习")
# 5.不换行输出两个字符串(print 方法的 end 参数) 我喜欢 编程
# ILike="我喜欢"
# programming="编程"
# print(ILike,end=””)
# print(programming)
# 6.输入一个数字,判断是奇数还是偶数
# number=input("输入一个数字:")
# if int(number)%2==0:
#print("偶数")# elif int(number)%2==1:
#print("奇数")
# 7.输出 8 到 88 的偶数
# for i in range(8,89,1):
#if i%2==0:
#print(i)
# 8.已知字符串,s
= "哈佛在等我呢"
# 获取第 4 至第 5 个字符
# s = "哈佛在等我呢"
# print(s[3],s[4])
# # 获取左起第 3 个起所有的字符
# print(s[2:])
# # 字符串做*运算,拷贝字符串 5 次
# print(s*5)
# 9.有一个字符串 s="我爱你,你爱我,蜜雪冰城甜蜜蜜",处理后输出为:
# 我 love 你,你 love 我,蜜雪冰城甜蜜蜜
# s="我爱你,你爱我,蜜雪冰城甜蜜蜜"
# print(s.replace("爱","love"))
# 10.去掉字符串左右两边多个字符,只保留”banana“
# txt = "',,,,,rrttgg.....banana....rrrooopp'"
# txt = "',,,,,rrttgg.....banana....rrrooopp'"
# print(txt.strip("',rtgrop."))
# 11.从键盘接收一个字符串,查找它在 s="aforsadvj happy so thank"
中是否存在,如果存
# 在就打印"找到你了",并且显示出现的次数,不存在就打印"怎么没有你"
# s="aforsadvj happy so thank"
# finds=input("输入需要查找的字符串:")
# if s.count(finds):
#
print("找到你了")
#print("出现次数:"+str(s.count(finds)))
# else :
#print("怎么没有你?")
# 12.从键盘接收一个字符串,取出字符串中的数字,并且统计字符串的总长度
及所有数字
# 出现的个数
# str0=input("接收一个字符串:")
# count0=0
# count1=0
# count2=0
# count3=0
# count4=0
# count5=0
# count6=0
# count8=0# count9=0
# count7=0
# for i in str0:
#if i.isdigit():
#if int(i)==0:
#count0=str0.count(i)
#elif int(i)==1:
#count1=str0.count(i)
#elif int(i)==2:
#count2=str0.count(i)
#elif int(i)==3:
#count3=str0.count(i)
#elif int(i)==4:
#count4=str0.count(i)
#elif int(i)==5:
#count5=str0.count(i)
#elif int(i)==6:
#count6=str0.count(i)
#elif int(i)==7:
#count7=str0.count(i)
#elif int(i)==8:
#count8=str0.count(i)
#elif int(i)==9:
#count9=str0.count(i)
# print("字符串总长度:"+str(len(str0))+f"""\n 数字出现的个数:
#0:{count0}
#1:{count1}
#2:{count2}
#3:{count3}
#4:{count4}
#5:{count5}
#6:{count6}
#7:{count7}
#8:{count8}
#9:{count9}""")
# 13.根据完整路径从路径中取出文件路径,文件扩展名 py
# str2 = "D:\软件\python\python39\Tools\scripts\mitype.py"
# 输出结果为:
# D:\软件\python\python39\Tools\scripts
# py
# filename=input("输入文件完整路径:")
# if filename[filename.rfind("\\"):].count(".")==0:
#print("这不是文件!")
# else :
#print(filename[0:filename.rfind("\\")])
#print(filename[filename.rfind(".")+1:])

list(列表)

List(列表) 是 Python 中使用最频繁的数据类型。
专门用于存储一串数据,存储的数据称为元素
列表用 [] 定义,元素之间用逗号分隔
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它
支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表和字符串一样,索引从 0 开始,列表同样可以被索引和截取,列表被截取后
返回一个包含所需元素的新列表。
List 可以使用+操作符进行拼接。
用星号 * 是重复操作
创建空列表:[]
my_list = [" lily ","bruce"," 张三 "," 李四 ",12.23,34,56,["ttt","sdfsdf"]]
l1 = ["ddd","dsf","df"]
print(my_list+l1)
print(l1*3)
print(my_list)
print(my_list[-4])
s = my_list[0]
print(s)
print(type(s))
print(my_list[0][-1])
print(my_list[0].strip())
name = [" 人物 1", " 人物 2", " 人物 3", " 人物 4", " 人物 5", " 人物 6", " 人物 7", " 人物
8", " 人物 9", " 人物 10"]
print(name[3:7])
name[4]=" 勇猛的 "
print(name)

列表的常用操作

li=[1,2,3,4,5]
li.append(6)
li.extend([6,7])
li.insert(0,1)
li.remove(1)
li.pop(1)
del li[1:4]
li.clear()
print(len(li))
print(max(li))
print(min(li))
print(sum(li))
print(sum(li)/len(li))
list1.sort()
list1.reverse()
for i in li:
print(i) # 索引和元素同时显示
for i in range(len(li)):
print(i,li[i])

字符串与列表转换

split 分割字符串为列表
join 拼接列表为字符串
txt = "Google#Run,oob#Taobao#Facebook"
stxt=txt.split("#") # 列表类型
print(stxt[2]) # 同字符串一样切片
for i in stxt:
print(i) # 单词打印而不是字符打印
n=".".join(stxt) # 字符串类型
print(n)

上机练习 2

# 1.请将列表 l1=["hello","world","test"]中的每个元素通过 "_" 链
接起来。
# 输出结果:hello_world_test
# l1=["hello","world","test"]
# print("_".join(l1))
# 2.有如下两个列表
# list1 = ["M", "na", "i", "Ke"]
# list2 = ["y", "me", "s", "lly"]
# 处理后保存到新列表中,输出结果:['My', 'name', 'is', 'Kelly']
# list1 = ["M", "na", "i", "Ke"]
# list2 = ["y", "me", "s", "lly"]
# list3=[]
# for i in range(0,len(list1)):
#
list3.append(list1[i]+list2[i])
# print(list3)
# 3.生成 100 个卡号,存储到列表中打印输出;卡号以 6102009 开头, 后面 3
位依次是
# (001,002,003,...,100)
# list=[]
# for i in range(1,101):
#
list.append(f"6102009{i:03d}")
# print(list)
# 4.已知字符串 str1="hello
c sharp",将其中的单词以反序输出
# 输出结果:sharp c hello。
# str1="hello c sharp"
# list1=str1.split(" ")
# list1.reverse()# for i in list1:
#
print(i,end=" ")
# 5.给定一个列表,将每一位数字变成它的平方 alist = [1, 2, 3, 4, 5,
6, 7]
# 输出结果:[1, 4, 9, 16, 25, 36, 49]
# alist = [1, 2, 3, 4, 5, 6, 7]
# for i in range(0,len(alist)):
#
alist[i]=alist[i]*alist[i]
# print(alist)
# 6.重新使用 split 和 join 的方法做 1.13 题(上机练习 1,13 题)
# str2 = "D:\软件\python\python39\Tools\scripts\mitype.py"
# list2=str2.split("\\")
# print("\\".join(list2[0:-1]))
# str3="".join(list2[-1])
# list3=str3.split(".")
# print(list3[1])
# 7.把下面的列表里面的数字提取出来生成一个新的列表
# list1 = [13,2,55,[11,32,"eee"],["ssd",55,"ggg"]]
# 用 type 去判断元素如果是 int 就塞进新列表 if type(i) == int
# 如果类型是 list 则继续循环
# NewList=[]
# list1 = [13,2,55,[11,32,"eee"],["ssd",55,"ggg"]]
# for i in list1:
#
if type(i)==int:
#
NewList.append(i)
#
elif type(i)==list:
#
for j in i:
#
if type(j)==int:
#
NewList.append(j)
# print(NewList)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux安全运维] iptables包过滤

前言 防火墙是网络安全中非常重要的设备&#xff0c;是一种将内部网络和外部网络隔离开的技术。简单来说&#xff0c;防火墙技术就是访问控制技术&#xff0c;由规则和动作组成。 目录 前言1. Linux 包过滤防火墙1 .1 概述1 .2 四表五链结构1 . 2 .1 规则表1 . 2 .2 规则链1 .…

扩散模型系列ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

向文本到图像扩散模型添加条件控制 摘要解读&#xff1a; 我对摘要英文的理解&#xff1a; 我们提出了一个神经网络架构ControlNet&#xff0c;可以向大规模的预训练好的文本到图像的扩散模型中添加空间条件控制。ControlNet锁住了准备生产的大规模扩散模型&#xff0c;并且重…

SLAM特征提取新变革:神经符号学结合自适应优化,实现环境适应性大飞跃!

论文标题&#xff1a; A Neurosymbolic Approach to Adaptive Feature Extraction in SLAM 论文作者&#xff1a; Yasra Chandio, Momin A. Khan, Khotso Selialia, Luis Garcia, Joseph DeGol, Fatima M. Anwar 导读&#xff1a; 本研究提出了一种创新的神经符号学方法&a…

Mybatis进阶提升-(一)Mybatis入门

前言 Mybatis是Java 项目开发使用率非常高的一款持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08…

python+selenium+unittest自动化测试框架

前言 关于自动化测试的介绍&#xff0c;网上已有很多资料&#xff0c;这里不再赘述&#xff0c;UI自动化测试是自动化测试的一种&#xff0c;也是测试金字塔最上面的一层&#xff0c;selenium是应用于web的自动化测试工具&#xff0c;支持多平台、多浏览器、多语言来实现自动化…

【实战】SpringBoot整合ffmpeg实现动态拉流转推

SpringBoot整合ffmpeg实现动态拉流转推 在最近的开发中&#xff0c;遇到一个 rtsp 协议的视频流&#xff0c;前端vue并不能直接播放&#xff0c;因此需要对流进行处理。在网上查阅后&#xff0c;ffmpeg和webrtc是最多的解决方案&#xff0c;但是使用webrtc的时候没成功&#x…

交通 | 不确定条件下旅行者路径选择的K阶均值偏差模型

摘要 现实世界中的交通网络通常具有随机特性&#xff0c;旅行时间可靠性自然成为影响旅行者路线选择的关键因素。在这种情况下&#xff0c;仅凭平均路径旅行时间可能无法充分代表路径对旅行者的吸引力&#xff0c;本研究引入了 k k k 阶均值偏差模型&#xff0c;用于优化大型…

紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续

近日&#xff0c;上海紫辉创业投资有限公司&#xff08;以下简称“紫辉创投”&#xff09;宣布开启GameFi链游聚合平台Destiny of Gods首轮投资500,000美金&#xff0c;并与其达成全面战略及业务层合作&#xff0c;双方将协同布局链上生态&#xff0c;共同推动链游行业健康发展…

研究人员可以采用什么策略来批判性地评估和综合其领域的不同文献

VersaBot Literature Review 一键生成文献综述 研究人员可以采用各种策略来批判性地评估和综合其领域内的不同文献&#xff1b; 评估策略 审查方法论&#xff1a; 分析每个来源中使用的研究设计、样本选择、数据收集和分析方法。考虑每种方法的潜在偏见、局限性和优势。评估…

宝通科技携手昇腾技术首席陈仲铭,共探工业大模型与生态发展

在人工智能技术的浪潮中&#xff0c;宝通科技始终致力于探索和应用前沿技术&#xff0c;推动工业智能化的发展。7月26日&#xff0c;宝通科技特邀昇腾生态技术首席陈仲铭博士&#xff0c;为宝通员工带来了一场主题为《工业大模型与业界发展生态》的技术分享会。本次分享会不仅为…

从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程

原文链接&#xff1a;从CNN到Transformer&#xff1a;基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247610610&idx5&snf973c3e430c89d6123ca8f4892086c55&chksmfa8271…

nameparser,一个强大的 Python 库!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个强大的 Python 库 - nameparser。 Github地址&#xff1a;https://github.com/derek73/python-nameparser 在处理用户数据时&#xff0c;尤其是涉及到用户姓名的场景下&am…

最佳需求管理工具:2024年10大主流工具

本文将分享2024年排名靠前的10款需求管理工具&#xff1a;PingCode、Worktile、Teambition、TAPD、禅道、明道云、CODING、Jama Connect、Jira、Codebeamer。 在选择需求管理工具时&#xff0c;你是否感到不知从何下手&#xff1f;面对市场上数不清的选项&#xff0c;确定哪一款…

远程办公访问优化指南:如何打造高效企业组网

当今数字化时代&#xff0c;远程办公已成为许多企业不可或缺的工作模式。面对地理位置分散、网络环境复杂等挑战&#xff0c;如何打造高效、稳定、安全的企业组网&#xff0c;成为企业IT部门亟需解决的问题。本文将为您提供一份远程办公访问优化指南&#xff0c;帮助您构建高效…

坐牢二十天 20240731(IO)

一.作业 1> 使用父子进程完成两个文件的拷贝 父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容 子进程结束后退出&#xff0c;父进程回收子进程的资源 #include <myhead.h> //定义求源文件长度的函数 int lenmain(const char *src,const char *dst) {int fd…

各类基于虚拟主机的应用及上线商城系统

一、基于域名访问 查看没有空行&#xff0c;没有注释的文件内容 [rootweb ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf [rootweb ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak [rootweb ~]# grep -Ev "#|^$"…

temu插件丨temu插件下载免费体验-特喵数据

在当今这个日新月异的电商时代&#xff0c;每一个细微的洞察都可能是商家决胜千里的关键。随着跨境电商平台的蓬勃兴起&#xff0c;Temu作为一股不可忽视的新兴力量&#xff0c;正以其独特的模式和强大的数据分析能力&#xff0c;引领着行业的新风尚。接下来看看让您的Temu店铺…

解决TensorFlow非法指令 (核心已转储)问题

背景 测试环境使用TensorFlow 1.14.0运行实体抽取和事项要素项目正常&#xff0c;打包项目和miniconda3环境进行部署&#xff0c;进行predict时报错。然后使用dockerfile生成环境镜像进行部署&#xff0c;发现仍报错。最后查资料解决该问题。 Using TensorFlow backend. 非法指…

《CSS创意项目实战指南》:点亮网页,从实战中掌握CSS的无限创意

CSS创意项目实战指南 在数字时代&#xff0c;网页不仅是信息的载体&#xff0c;更是艺术与技术的融合体。通过CSS&#xff0c;你可以将平凡的网页转变为引人入胜的视觉盛宴&#xff0c;让用户体验跃升至全新高度。《CSS创意项目实战指南》正是这样一本引领你探索CSS无限可能的…

【全志H616开发】SQLite打开/创建数据库的C接口

文章目录 打开/创建数据库的C接口函数介绍sqlite3_open函数sqlite3_close函数sqlite3_errmsg函数 代码示例 打开/创建数据库的C接口函数介绍 sqlite3_open函数 sqlite3_open 是 SQLite 数据库库中的一个函数&#xff0c;用于打开一个新的数据库连接。如果指定的数据库文件不存…