Python课本第二章课后习题选做

本篇博客主要介绍了Python编程的基础练习,包括存储和打印消息、调整字符串的大小写,以及处理字符串中的空白字符。通过2-2至2-7的练习,读者将掌握如何使用变量存储消息,改变字符串的大小写形式,并学会利用lstrip(), rstrip()和strip()函数去除字符串两端的空白。" 110815418,10295991,Spring Boot + MyBatis 项目骨架与代码生成实践,"['Spring Boot', 'MyBatis', '代码生成', '项目骨架', 'API开发']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2-2 多条简单消息: 将一条消息存储到变量中,将其打印出来;再将变量的值修改为一条新消息,并将其打印出来。

>>> str = "I'm DD"
>>> print(str)
I'm DD
>>> str = "I'm not DD. DD is you."
>>> print(str)
I'm not DD. DD is you.

2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。

>>> name = 'cindy'
>>> print(name.upper())
CINDY
>>> print(name.lower())
cindy
>>> print(name.title())
Cindy
2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):
Albert Einstein once said, “A person who never made a mistake never tried anything new.”

2-6 名言 2 : 重复练习 2-5 ,但将名人的姓名存储在变量 famous_person 中,再创建要显示的消息,并将其存储在变量 message 中,然后打印这条消息。

>>> famous_person = 'someone'
>>> message = famous_person.title() + ' once said, "People die if they are killed!"'
>>> print(message)
Someone once said, "People die if they ar
<think>嗯,用户问的是贾俊平统计学基于Python第二章课后习题怎么。首先,我需要明确第二章具体讲什么内容。贾俊平的统计学教材可能有不同版本,但通常第二章应该是数据整理与展示,比如数据的预处理、频数分布表、图表绘制等。 用户可能需要知道如何处理数据,用Python进行数据清洗、分组,然后生成相应的图表,比如直方图、条形图、饼图等。还有可能涉及描述性统计量的计算,比如平均数、中位数、众数等。不过要确认是第二章的具体内容,可能需要回忆教材的结构。 用户身份可能是学生,刚学统计学,使用Python来完成课后作业。他们可能对Python的数据处理库如Pandas和可视化库如Matplotlib或Seaborn不熟悉,需要步骤指导。 需要分步骤讲解,比如数据导入、数据清洗、分组、制作频数分布表、绘制图表,可能还要计算统计量。同时要提醒常见的错误,比如分组间隔的择,图表标签的设置等。 另外,用户可能希望看到具体的代码示例,比如如何用Python生成直方图,如何用Pandas计算频数分布。可能需要举一个例子,比如课本中的例题数据,然后展示代码和结果。 还要注意Python语法是否正确,比如使用value_counts()函数,或者cut函数进行分组。同时,确保用户知道如何安装必要的库,比如pandas、matplotlib。 可能遇到的问题包括数据类型的转换,比如字符串转数值,处理缺失值,分组时的边界问题。这些需要在解答中提到,并提供解决方法。 最后,要建议用户遇到具体题目时提供更多细节,比如数据格式或题目要求,以便更针对性地帮助解决问题。</think>贾俊平《统计学》第二章(数据可视化与数据分布)课后习题结合Python的实现思路可分为以下步骤: ━━━━━━━━━━━━━━ 一、知识准备阶段 1. 明确章节核心知识点: • 数据预处理:缺失值处理、数据排序 • 品质数据:频数分布表、条形图、饼图 • 数值数据:直方图、茎叶图、箱线图 • 表格与图形择原则 2. Python工具准备: ```python import pandas as pd import matplotlib.pyplot as plt import seaborn as sns ``` ━━━━━━━━━━━━━━ 二、典型习题实现模板 ▶️ 案例:频数分布表与直方图 假设数据:30名学生成绩(存储于scores.csv) 1. 数据加载与预处理: ```python df = pd.read_csv('scores.csv') df['score'] = pd.to_numeric(df['score'], errors='coerce') # 处理非数值 df.dropna(inplace=True) # 删除缺失值 ``` 2. 制作频数分布表: ```python bins = [0, 60, 70, 80, 90, 100] labels = ['不及格','及格','中','良','优'] freq = pd.cut(df['score'], bins=bins, labels=labels).value_counts().sort_index() print(freq) ``` 3. 绘制直方图: ```python plt.figure(figsize=(10,6)) plt.hist(df['score'], bins=10, edgecolor='black') plt.title('成绩分布直方图') plt.xlabel('分数区间') plt.ylabel('频数') plt.grid(True, linestyle='--') plt.show() ``` ━━━━━━━━━━━━━━ 三、常见题型解决方案 1. 品质数据可视化: ```python # 条形图 df['major'].value_counts().plot(kind='bar') # 饼图 df['gender'].value_counts().plot(kind='pie', autopct='%1.1f%%') ``` 2. 数值数据分布分析: ```python # 箱线图 sns.boxplot(x=df['income']) # 茎叶图(Python需自定义实现) def stem_plot(data): for num in sorted(data): stem, leaf = divmod(num,10) print(f"{stem:2} | {leaf}") ``` ━━━━━━━━━━━━━━ 四、注意事项 1. 分组关键点: • 组距不宜过宽或过窄 • 使用`pd.cut()`时设置`right=False`可实现左闭右开区间 2. 可视化优化原则: ```python plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文显示 plt.rcParams['axes.unicode_minus'] = False # 解决负号显示 ``` ━━━━━━━━━━━━━━ 五、调试建议 当遇到问题时: 1. 使用`df.info()`检查数据类型 2. 用`df.describe()`查看数值分布 3. 通过`df.sample(5)`随机抽样验证数据 建议提供具体题目要求及数据样例,可给出更针对性的代码实现方案。例如处理时间序列数据时,需特别注意日期格式转换: ```python df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d') ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值