Python编程基础(一) | 变量和简单数据类型

引言:很久没有写 Python 了,有一点生疏。这是学习《Python 编程:从入门到实践(第3版)》的课后练习记录,主要目的是快速回顾基础知识。

练习1: 简单消息

将一条消息赋给变量,并将其打印出来。

# 将字符串 "张三" 赋给变量 name
name = "张三"
# 打印变量 name 的值
print(name)
张三

知识点回顾:

  • 变量的定义与赋值:使用 = 将值赋给一个变量名。
  • print() 函数:用于将指定的内容输出到控制台。

练习2:多条简单消息

将一条消息赋给变量,并将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

# 将字符串 "李四" 赋给变量 name
name = "李四"
# 打印变量 name 的当前值
print(name)
# 将变量 name 的值修改为 "王五"
name = "王五"
# 打印变量 name 修改后的值
print(name)
李四
王五

知识点回顾:

  • 变量的重新赋值:变量的值可以被新的值覆盖。
  • 程序按顺序执行:代码从上到下依次执行。

练习3:个性化消息

用变量表示一个人的名字,并向其显示一条消息。显示的消息应非常简单,如下所示。

Hello Eric, would you like to learn some Python today?

# 用变量存储一个人的名字
name = 'Eric'
# 使用 f-string (格式化字符串字面量) 创建个性化消息并打印
print(f'Hello {name}, would you like to learn some Python today?')
Hello Eric, would you like to learn some Python today?

知识点回顾:

  • f-string:一种方便的字符串格式化方法,可以在字符串中直接嵌入变量和表达式。
  • 单引号和双引号定义字符串:Python中两者通常可以互换,但需保持一致性。

练习4:调整名字的大小写

用变量表示一个人的名字,再分别以全小写、全大写和首字母大写的方式显示这个人名。

first_name = "jack"
last_name = "ma"
# 使用 f-string 拼接姓和名
full_name = f"{first_name} {last_name}"# 全小写: 使用 .lower() 方法
print(full_name.lower())
# 全大写: 使用 .upper() 方法
print(full_name.upper())
# 首字母大写: 使用 .title() 方法
print(full_name.title())
jack ma
JACK MA
Jack Ma

知识点回顾:

  • 字符串方法:
    • .lower(): 将字符串中所有大写字母转换为小写。
    • .upper(): 将字符串中所有小写字母转换为大写。
    • .title(): 将字符串中每个单词的首字母转换为大写,其余字母为小写。
  • f-string:用于构建 full_name

练习5:名言1

找到你钦佩的名人说的一句名言,将这个名人的姓名和名言打印出来。输出应类似于下面这样(包括引号)。

Albert Einstein once said, “A person who never made a mistake never tried anything new.”

# 直接打印包含名人姓名和名言的字符串
# 注意字符串中引号的使用,外部使用单引号,内部的名言使用双引号,避免冲突
print('王阳明有云:"知行合一"。')
王阳明有云:"知行合一"。

知识点回顾:

  • print() 函数打印字符串字面量。
  • 字符串中引号的嵌套:当字符串本身需要包含引号时,可以使用不同类型的引号(单引号包裹双引号,或双引号包裹单引号)或转义字符。

练习6:名言2

重复练习5,但用变量 famous_person 表示名人的姓名,再创建要显示的消息并将其赋给变量 message,然后打印这条消息。

# 将名人的姓名赋给变量 famous_person
famous_person = "王阳明"
# 使用 f-string 创建包含名人姓名和名言的消息,并将其赋给变量 message
message = f'{famous_person}有云:"知行合一"。'
# 打印变量 message 的内容
print(message)
王阳明有云:"知行合一"。

知识点回顾:

  • 变量的使用:用变量存储数据(如名人的名字),使代码更易读和维护。
  • f-string:再次用于构建包含变量的字符串。

练习7:删除人名中的空白

用变量表示一个人的名字,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合 "\t ""\n" 各一次。

打印这个人名,显示其开头和末尾的空白。然后,分别使用函数 lstrip()rstrip()strip() 对人名进行处理,并将结果打印出来。

# 定义一个包含前后空白字符(制表符\t 和 换行符\n)的字符串
name = "\t张三\n\t"# 打印原始字符串,展示其包含的空白
print("原始字符串:")
print(f"'{name}'") # 使用引号包裹以便看清空白# 打印去掉字符串左边空白的字符串
print("\n使用 lstrip() 去除左边空白:")
print(f"'{name.lstrip()}'")# 打印去掉字符串右边空白的字符串
print("\n使用 rstrip() 去除右边空白:")
print(f"'{name.rstrip()}'")# 打印去掉字符串左右两边空白的字符串
print("\n使用 strip() 去除两边空白:")
print(f"'{name.strip()}'")
原始字符串:
'       张三'使用 lstrip() 去除左边空白:
'张三'使用 rstrip() 去除右边空白:
'       张三'使用 strip() 去除两边空白:
'张三'

(注意:实际输出中 \n 会导致换行,\t 会产生制表符间距,上面的 plain 块为了清晰展示空白,用字符形式表达,实际运行结果中空白是不可见的。为了更清晰,我在代码中用引号包裹了输出。)

知识点回顾:

  • 空白字符:\t (制表符),\n (换行符)。
  • 字符串方法:
    • .lstrip(): 移除字符串左侧的空白字符(或指定字符)。
    • .rstrip(): 移除字符串右侧的空白字符(或指定字符)。
    • .strip(): 移除字符串两侧的空白字符(或指定字符)。

练习8:文件扩展名

Python 提供了 removesuffix() 方法,其工作原理与 removeprefix() 很像。请将值 'python_notes.txt' 赋给变量 filename,再使用 removesuffix() 方法来显示不包含扩展名的文件名,就像文件浏览器所做的那样。

filename = "python_notes.txt"
# 使用 removesuffix() 方法移除指定的后缀 ".txt"
# 这个方法是 Python 3.9 版本引入的
file_without_extension = filename.removesuffix(".txt")
print(file_without_extension)
python_notes

知识点回顾:

  • 字符串方法 .removesuffix(suffix):如果字符串以指定的 suffix 结尾,则返回移除该后缀的新字符串;否则返回原始字符串。 (Python 3.9+)
  • (类似地,.removeprefix(prefix) 移除前缀。)

练习9:数字8

编写4个表达式,分别使用加法、减法、乘法和除法运算,但结果都是数字8。为了使用函数调用 print() 来显示结果,务必将这些表达式用括号括起来。也就是说,你应该编写4行类似于这样的代码:

print(5+3)

输出应为4行,其中每行都只包含数字8。

# 加法运算
print(4+4)
# 减法运算
print(12-4)
# 乘法运算
print(4*2)
# 除法运算,结果是浮点数,使用 int() 转换为整数
print(int(16/2))
8
8
8
8

知识点回顾:

  • 基本算术运算符:+ (加法), - (减法), * (乘法), / (除法)。
  • 除法运算 /:在 Python 3.x 中,除法运算结果总是浮点数。
  • int() 函数:将一个数值或字符串转换为整数。
  • 表达式求值:print() 函数会先计算括号内的表达式,然后打印结果。

练习10:最喜欢的数

用一个变量来表示你最喜欢的数,再使用这个变量创建一条消息,指出你最喜欢的数是什么,然后将这条消息打印出来。

# 用变量存储最喜欢的数字
number = 666
# 使用 f-string 创建包含这个数字的消息
message = f"我最喜欢的数字是{number}!"
# 打印消息
print(message)
我最喜欢的数字是666!

知识点回顾:

  • 变量存储数字类型数据。
  • f-string:可以将数字类型的变量直接嵌入字符串中,Python 会自动将其转换为字符串形式。

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

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

相关文章

鸿蒙 HarmonyOS - SideBarContainer 组件自学指南

在日常开发中,如果你有类似「左侧导航 右侧内容」的布局需求,比如后台管理界面、文件管理器、设置页等,​​SideBarContainer​​ 是非常值得掌握的组件。它自带侧边栏和主内容区的分离机制,还支持折叠、拖拽、控制按钮和多种显示…

CppCon 2014 学习:Practical Functional Programming

这段内容是对**在 C 中使用函数式编程(Functional Programming, FP)**可以做什么的简要介绍,下面是逐条的翻译与理解: Introduction 简介 在 C 中使用函数式编程(FP)可以做什么? 1. 编写强大…

飞牛NAS+Docker技术搭建个人博客站:公网远程部署实战指南

文章目录 前言1. Docker下载源设置2. Docker下载WordPress3. Docker部署Mysql数据库4. WordPress 参数设置5. 飞牛云安装Cpolar工具6. 固定Cpolar公网地址7. 修改WordPress配置文件8. 公网域名访问WordPress总结 前言 在数字化浪潮中,传统网站搭建方式正面临前所未…

ComfyUI+阿里Wan2.1+内网穿透技术:本地AI视频生成系统搭建实战

文章目录 前言1.软件准备1.1 ComfyUI1.2 文本编码器1.3 VAE1.4 视频生成模型 2.整合配置3. 本地运行测试4. 公网使用Wan2.1模型生成视频4.1 创建远程连接公网地址 5. 固定远程访问公网地址总结 前言 各位技术爱好者,今天为您带来一组创新性的AI应用方案&#xff01…

n8n:技术团队的智能工作流自动化助手

在当前数字化时代,自动化已经成为提高效率和减轻人工工作负担的一大推动力。今天,我们要为大家介绍一款极具潜力的开源项目——n8n,它不仅拥有广泛的应用场景,还具备内置AI功能,能够完全满足技术团队的高效工作需求。n8n的出现,为技术团队提供了自由编程与快速自动化构建…

1,QT的编译教程

目录 整体流程: 1,新建project文件 2,编写源代码 3,打开QT的命令行窗口 4,生成工程文件(QT_demo.pro) 5,生成Make file 6,编译工程 7,运行编译好的可执行文件 整体流程: 1,新建project文件 新建文本文件,后缀改为.cpp 2,编写源代码

深度学习论文: FastVLM: Efficient Vision Encoding for Vision Language Models

深度学习论文: FastVLM: Efficient Vision Encoding for Vision Language Models FastVLM: Efficient Vision Encoding for Vision Language Models PDF: https://www.arxiv.org/abs/2412.13303 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https…

十一、【核心功能篇】测试用例管理:设计用例新增编辑界面

【核心功能篇】测试用例管理:设计用例新增&编辑界面 前言准备工作第一步:创建测试用例相关的 API 服务 (src/api/testcase.ts)第二步:创建测试用例编辑页面组件 (src/views/testcase/TestCaseEditView.vue)第三步:配置测试用例…

三、web安全-信息收集

1、信息搜集的重要性 (1)明确攻击面 信息搜集能让渗透测试人员清晰地勾勒出目标系统的边界,包括其网络拓扑结构、开放的服务端口、运行的软件系统等。例如,通过信息搜集发现目标企业除了对外提供官网服务外,还有一个…

生活小记啊

最近生活上的事情还是蛮多的,想到哪写到哪。 工作 三月的某个周六,正在加班写技术方案,大晚上写完了听到调动通知,要去新的团队了。 还是蛮不舍的,看着产品从无到有,一路走过来,倾注了不少感…

vue-08(使用slot进行灵活的组件渲染)

使用slot进行灵活的组件渲染 作用域slot是 Vue.js 中的一种强大机制,它允许父组件自定义子组件内容的呈现。与仅向下传递数据的常规 props 不同,作用域 slot 为父级提供了一个模板,然后子级可以填充数据。这提供了高度的灵活性和可重用性&am…

MySQL索引与性能优化入门:让查询提速的秘密武器【MySQL系列】

本文将深入讲解 MySQL 索引的底层原理、常见类型、使用技巧,并结合 EXPLAIN 工具分析查询执行计划,配合慢查询日志识别瓶颈,逐步建立起系统的 MySQL 查询优化知识体系。适合有一定基础、希望在数据量增长或面试中脱颖而出的开发者阅读。 一、…

C 语言开发中常见的开发环境

目录 1.Dev-C 2.Visual Studio Code 3.虚拟机 Linux 环境 4.嵌入式 MCU 专用开发环境 1.Dev-C 使用集成的 C/C 开发环境(适合基础学习),下载链接Dev-C下载 - 官方正版 - 极客应用 2.Visual Studio Code 结合 C/C 扩展 GCC/MinGW 编译器&#xff0c…

STM32G4 电机外设篇(二) VOFA + ADC + OPAMP

目录 一、STM32G4 电机外设篇(二) VOFA ADC OPAMP1 VOFA1.1 VOFA上位机显示波形 2 ADC2.1 用ADC规则组对板载电压和电位器进行采样 3 OPAMP(运放)3.1 结合STM32内部运放和ADC来完成对三相电流的采样3.2 运放电路分析 附学习参考…

再见Notepad++,你好Notepad--

Notepad-- 是一款国产开源的轻量级、跨平台文本编辑器,支持 Window、Linux、macOS 以及国产 UOS、麒麟等操作系统。 除了具有常用编辑器的功能之外,Notepad-- 还内置了专业级的代码对比功能,支持文件、文件夹、二进制文件的比对,支…

跳动的爱心

跳动的心形图案&#xff0c;通过字符打印和延时效果模拟跳动&#xff0c;心形在两种大小间交替跳动。 通过数学公式生成心形曲线 #include <stdio.h> #include <windows.h> // Windows 系统头文件&#xff08;用于延时和清屏&#xff09; void printHeart(int …

2.2HarmonyOS NEXT高性能开发技术:编译优化、内存管理与并发编程实践

HarmonyOS NEXT高性能开发技术&#xff1a;编译优化、内存管理与并发编程实践 在HarmonyOS NEXT全场景设备开发中&#xff0c;高性能是跨端应用体验的核心保障。本章节聚焦ArkCompiler编译优化、内存管理工具及多线程并发编程三大技术模块&#xff0c;结合实战案例解析底层实现…

C# 类和继承(使用基类的引用)

使用基类的引用 派生类的实例由基类的实例和派生类新增的成员组成。派生类的引用指向整个类对象&#xff0c;包括 基类部分。 如果有一个派生类对象的引用&#xff0c;就可以获取该对象基类部分的引用&#xff08;使用类型转换运算符把 该引用转换为基类类型&#xff09;。类…

如何在腾讯云 OpenCloudOS 上安装 Docker 和 Docker Compose

从你提供的 /etc/os-release 文件内容来看&#xff0c;你的服务器运行的是 OpenCloudOS 9.2。这是一个基于 CentOS 和 RHEL 的开源操作系统&#xff0c;因此它属于 CentOS/RHEL 系列。 关键信息总结 操作系统名称&#xff1a;OpenCloudOS版本&#xff1a;9.2ID&#xff1a;op…

趋势直线指标

趋势直线副图和主图指标&#xff0c;旨在通过技术分析工具帮助交易者识别市场趋势和潜在的买卖点。 副图指标&#xff1a;基于KDJ指标的交易策略 1. RSV值计算&#xff1a; - RSV&#xff08;未成熟随机值&#xff09;反映了当前收盘价在过去一段时间内的相对位置。通过计算当前…