Quiz 12: Regular Expressions | Python for Everybody 配套练习_解题记录

文章目录

  • Python for Everybody
  • 课程简介
    • Regular Expressions
    • 单选题(1-8)
    • 操作题
      • Regular Expressions


Python for Everybody


课程简介

Python for Everybody 零基础程序设计(Python 入门)

  • This course aims to teach everyone the basics of programming computers using Python. 本课程旨在向所有人传授使用 Python 进行计算机编程的基础知识。
  • We cover the basics of how one constructs a program from a series of simple instructions in Python. 我们介绍了如何通过 Python 中的一系列简单指令构建程序的基础知识。
  • The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course. 该课程没有任何先决条件,除了最简单的数学之外,避免了所有内容。任何具有中等计算机经验的人都应该能够掌握本课程中的材料。
  • This course will cover Chapters 1-5 of the textbook “Python for Everybody”. Once a student completes this course, they will be ready to take more advanced programming courses. 本课程将涵盖《Python for Everyday》教科书的第 1-5 章。学生完成本课程后,他们将准备好学习更高级的编程课程。
  • This course covers Python 3.

在这里插入图片描述

coursera

Python for Everybody 零基础程序设计(Python 入门)

Charles Russell Severance
Clinical Professor

在这里插入图片描述

个人主页
Twitter

在这里插入图片描述

University of Michigan


课程资源

coursera原版课程视频
coursera原版视频-中英文精校字幕-B站
Dr. Chuck官方翻录版视频-机器翻译字幕-B站

PY4E-课程配套练习
Dr. Chuck Online - 系列课程开源官网



Regular Expressions

Regular Expressions allow us to search for patterns in strings and extract data from strings using the regular expression programming language.


单选题(1-8)

  1. What character do you add to the “+” or “*” to indicate that the match is to be done in a non-greedy manner?
  • ^
  • ++
  • ?
  • g
  • $
  • **
  1. What will the ‘$’ regular expression match?
  • An empty line
  • The end of a line
  • The beginning of a line
  • A dollar sign
  • A new line at the end of a line
  1. What would the following mean in a regular expression? [a-z0-9]
  • Match anything but a lowercase letter or digit
  • Match a lowercase letter or a digit
  • Match any number of lowercase letters followed by any number of digits
  • Match any text that is surrounded by square braces
  • Match an entire line as long as it is lowercase letters or digits
  1. What is the type of the return value of the re.findall() method?
  • A string
  • A boolean
  • A list of strings
  • A single character
  • An integer
  1. What is the “wild card” character in a regular expression (i.e., the character that matches any character)?
  • +
  • ^
  • $
  • ?
  • *
  • .
  1. What is the difference between the “+” and “*” character in regular expressions?
  • The “+” matches upper case characters and the “*” matches lowercase characters
  • The “+” matches the actual plus character and the “*” matches any character
  • The “+” matches at least one character and the “*” matches zero or more characters
  • The “+” matches the beginning of a line and the “*” matches the end of a line
  • The “+” indicates “start of extraction” and the “*” indicates the “end of extraction”
  1. What does the “[0-9]+” match in a regular expression?
  • Several digits followed by a plus sign
  • Any mathematical expression
  • One or more digits
  • Zero or more digits
  • Any number of digits at the beginning of a line
  1. What does the following Python sequence print out?
x = 'From: Using the : character'
y = re.findall('^F.+:', x)
print(y)
  • :
  • [‘From:’]
  • ^F.+:
  • From:
  • [‘From: Using the :’]

操作题

Regular Expressions

Finding Numbers in a Haystack

In this assignment you will read through and parse a file with text and numbers. You will extract all the numbers in the file and compute the sum of the numbers.

Data Files
We provide two files for this assignment. One is a sample file where we give you the sum for your testing and the other is the actual data you need to process for the assignment.

  • Sample data: http://py4e-data.dr-chuck.net/regex_sum_42.txt
    (There are 90 values with a sum=445833)
  • Actual data: http://py4e-data.dr-chuck.net/regex_sum_1577741.txt
    (There are 78 values and the sum ends with 783)

These links open in a new window. Make sure to save the file into the same folder as you will be writing your Python program. Note: Each student will have a distinct data file for the assignment - so only use your own data file for analysis.

Data Format
The file contains much of the text from the introduction of the textbook except that random numbers are inserted throughout the text. Here is a sample of the output you might see:

Why should you learn to write programs? 7746
12 1929 8827
Writing programs (or programming) is a very creative 
7 and rewarding activity.  You can write programs for 
many reasons, ranging from making your living to solving
8837 a difficult data analysis problem to having fun to helping 128
someone else solve a problem.  This book assumes that 
everyone needs to know how to program ...

The sum for the sample text above is 27486. The numbers can appear anywhere in the line. There can be any number of numbers in each line (including none).

Handling The Data
The basic outline of this problem is to read the file, look for integers using the re.findall(), looking for a regular expression of ‘[0-9]+’ and then converting the extracted strings to integers and summing up the integers.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV——分水岭算法

目录 一、分水岭算法1、概述2、图像分割概念3、分水岭算法原理 二、主要函数三、C代码四、结果展示1、原始图像2、分割结果 五、参考链接 一、分水岭算法 1、概述 分水岭算法是一种图像分割常用的算法,可以有效地将图像中的目标从背景中分离出来。本文以OpenCV库中…

神坑:ElasticSearch8集群启动报错“Device or resource busy”(Docker方式)

昨天在Docker中配置ElasticSearcch8集群模式时,先初步配置了master主节点。然后主节点启动就报错,看日志,提示“Device or resource busy”。异常第一句大概这个样子: Exception in thread "main" java.nio.file.FileS…

【ARIMA-WOA-CNN-LSTM】合差分自回归移动平均方法-鲸鱼优化-卷积神经网络-长短期记忆神经网络研究(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Redis优化

目录 一、Redis高可用 二、Redis持久化 1.RDB持久化 1.1触发条件 1.1.1手动触发 1.1.2自动触发 1.2其他自动触发机制 1.3执行流程 1.4启动时加载 2.AOF 持久化 2.1开启AOF 2.2执行流程 2.2.1命令追加(append) 2.2.2文件写入(write)和文件同步(sync) 2.2.3文件重…

docker-compose实现微服务jar+mysql的容器服务发布(经典版)

一 安装mysql服务 1.1 拉取镜像 1.拉取: docker pull mysql:5.7.29 2.查看镜像: docker images 1.2 在宿主机创建文件存储mysql 1.创建映射目录:mysql-c5 在/root/export/dockertest 目录下,mkdir -p mysql-c5 &#…

SpringBoot实战(十九)集成Ribbon

目录 一、负载均衡的分类1.服务端负载均衡2.客户端负载均衡 二、定义和依赖1.Ribbon2.Spring Cloud Ribbon3.Spring Cloud Loadbalancer 三、搭建测试项目1.Maven依赖2.yaml配置3.配置类4.启动类5.接口类 四、测试五、补充:认识 Ribbon 的组件 一、负载均衡的分类 …

open3D cmake+win10+vs2019编译

已经采用python版open3D实现和验证了功能,但是在C迁移上却遇到了不少问题: 1、可能是与本地的编译器存在差异,在使用open3D git上的winows版本时,存在地址访问冲突和std::bad_alloc等问题。前者在适用IO读写时必现,后者…

【动态规划上分复盘】下降路径最小和|礼物的最大价值

欢迎 前言一、动态规划五部曲二、下降路径最小和思路:动态规划解法具体代码如下 三、礼物的最大价值思路:动态规划具体代码如下: 总结 前言 本文主要讲述动态规划思路的下降路径最小和以及礼物的最大价值两道题。 一、动态规划五部曲 1.确定状态表示&a…

Linux【系统学习】(shell篇)

第 1 章 Shell 概述 1)Linux 提供的 Shell 解析器有 Ubuntu 使用的是dash 2)bash 和 sh 的关系 3)Centos 默认的解析器是 bash 第 2 章 Shell 脚本入门 1)脚本格式 (结尾不是必须以 .sh 结尾,只是为了区…

ModaHub魔搭社区:基于 Amazon EKS 搭建开源向量数据库 Milvus

目录 01 前言 02 架构说明 03 先决条件 04 创建 EKS 集群 05 部署 Milvus 数据库 06 优化 Milvus 配置 07 测试 Milvus 集群 08 总结 01 前言 生成式 AI(Generative AI)的火爆引发了广泛的关注,也彻底点燃了向量数据库&…

【网络原理之三】应用层协议HTTP和HTTPS

HTTP什么是HTTP工作过程协议格式协议内容HTTP请求MethodURLURL的encode和decode Version请求报头请求正文 HTTP响应状态码响应报头 HTTPSHTTPS执行过程加密对称加密非对称加密 证书 HTTP 什么是HTTP HTTP:超文本传输协议。是一种应用非常广泛的应该层协议。 所谓 “…

图片加载失败捕获上报及处理

图片加载失败捕获上报及处理 前端页面中加载最多的静态资源之一就是图片了,当出现图片加载失败时,非常影响用户体验。这时候我们就需要对图片是否成功加载进行判断,并对图片加载失败进行处理。 图片加载监听 单个捕获 HTML中的img标签可以…

集群 第一章

目录 1.群集的含义 2.群集分类 3.群集架构 4.负载调度工作模式 5.lvs 虚拟服务器 6.nat 模式 lvs 负载均衡群集部署 7.总结 1.群集的含义 由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名与IP地址)&#…

威胁和漏洞管理增强远程 IT 安全性

威胁和漏洞管理是保护组织设备和数据的主动方法。它可以帮助管理员识别漏洞并检查安全设置是否薄弱。通过使用此方法,可以在任何弱点成为安全漏洞之前对其进行修复。 对远程威胁和漏洞管理工具的需求 随着越来越多的员工远程工作,网络攻击的可能性也在…

计算机网络————网络层

文章目录 网络层设计思路IP地址IP地址分类IP地址与硬件地址 协议ARP和RARPIP划分子网和构造超网划分子网构造超网(无分类编址CIDR) ICMP 虚拟专用网VPN和网络地址转换NATVPNNAT 网络层设计思路 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数…

基于django的数据可视化展现

今天给大家简单分享一下一个基于python的django的框架写的一个数据可视化的项目。 主要涉及技术:django基础,python基础,前端(html,echars)基础。 这个项目自然而然是基于python逻辑语言处理的&#xff0…

CSDN创作常用操作说明

CSDN创作 目录标题文本样式列表图片连接代码表格UML图Mermaid流程图Flowchart流程图classDiagram类图快捷键 目录 创建目录的方式: [TOC](目录)标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题文本样式 **加粗文本** ~…

第一章 Android 基础--开发环境搭建

文章目录 1.Android 发展历程2.Android 开发机器配置要求3.Android Studio与SDK下载安装4.创建工程与创建模拟器5.观察App运行日志6.环境安装可能会遇到的问题7.练习题 本专栏主要在B站学习视频: B站Android视频链接 本视频范围:P1—P8 1.Android 发展历…

Springboot整合mybatisplus实战

Springboot整合mybatisplus,纯后端,验证结果是通过postman调用的,记录一下 1、建表语句以及初始化数据脚本 CREATE TABLE tbl_book (id int NOT NULL AUTO_INCREMENT,type varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT…