坚持十天做完Python入门编程100题第三天

坚持十天做完Python入门编程100题第三天

  • 第15题 依次输出列表的元素和下标
  • 第16题 编写加速度函数
  • 第17题 编写函数计算球的体积
  • 第18题 函数默认值参数
  • 第19题 全局变量
  • 第20题 局部变量
  • 第21题 字符串格式化
  • 第22题 字符串格式化(二)
  • 第23题 字符串分隔

第15题 依次输出列表的元素和下标

	列表languages = ['Python', 'Java', 'HTML', 'JavaScript'],如何依次打印列表中每个元素的下标和元素值?

解析:enumerate()可以返回数组的(下标index,数值item)数据对,再用for循环依次取出数据对。

languages = ['Python', 'C', 'Java', 'HTML']
for index, item in enumerate(languages):print(index, item)

第16题 编写加速度函数

	创建函数,计算加速度,初始和结束的速度为v1和v2,初始和结束的时间为t1和t2,加速度公式如下:g = (v2 - v1) / (t2 - t1)。

解析:该函数有四个参数,分别为v1、v2、t1、t2,在函数体内实现计算并返回计算得到的结果。

def func(v1, v2, t1, t2):g = (v2 - v1) / (t2 - t1)return gprint(func(0, 20 , 0 ,50))

第17题 编写函数计算球的体积

解析:计算球体的体积的公式是V = (4/3)πr³,而π的值可以调用python的内置模块math的pi属性获取。

import mathdef volume(r):return (4 * math.pi * r**3) / 3print(volume(2))

第18题 函数默认值参数

	以下函数哪里有错误?def add(i=2, j):return i + j

解析:以上函数会如下错误:non-default argument follows default argument,意思是不带默认值的参数跟在了有默认值的参数后面。带默认值的参数,应该放到后面,这样的话,如果只传1个参数,才能达到使用默认值参数的效果。所以应该修改如下:

def add(j, i=2):return i + j
print(add(3))
print(add(4,3))

结果分别是5和7

第19题 全局变量

	如下函数输出的结果是:i = 5def func():return ii = 7print(func())

解析:python的代码是从上往下一行一行执行的,而创建的函数,只是被定义,在没有调用的时候并不会被执行,所以执行到i = 7是,全局变量i被更新为了7,这时候再调用func函数,返回的i是更新之后的7,所以结果是7。

第20题 局部变量

		j = 5def func():j = 10return jj = 8print(func())

解析:函数内可以访问函数外的全局变量,但是局部变量的优先级更高。所以无论全局变量j是多少,当调用func函数时,都会返回局部变量j的值10。

第21题 字符串格式化

	以下代码错在哪里?name = 'zhangsan'country = 'China'print("%s is from %s" % name, country)		

解析:以上代码会报错:not enough arguments for format string,意思是格式化字符串没有足够的参数。每个%占位符,在后面的%需要一个变量对应起来,如果多于一个占位符,后面的%之后需要跟一个元组tuple包含多个变量,所以需要用(name, country)元组。

name = 'zhangsan'
country = 'China'
print("%s is from %s" % (name, country))

第22题 字符串格式化(二)

解析:第21题的代码还可以用f-string的格式化方法,而且这种方法目前也更常用,个人感觉也更加方便,代码如下:

name = 'zhangsan'
country = 'China'
print(f"{name} is from {country}")

第23题 字符串分隔

	现有字符串string = "xiaoming is 9 years old, he is from china. He likes reading",如何对该字符串使用英文的逗号,句号和空格进行分隔?

解析:可以使用re模块的split()方法进行分隔,代码如下:

import re
string = "xiaoming is 9 years old, he is from china. He likes reading"
string = re.split(',| |\.', string)

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

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

相关文章

SQL注入sqli_labs靶场第五、六题

第五题 根据报错信息,判断为单引号注入 没有发现回显点 方法:布尔盲注(太耗时,不推荐使用) 1)猜解数据库名字:(所有ASCII码值范围:0~127) ?id1 and length…

TDengine too many open files

too many open files 是比较常见的报错,尤其使用TDengine 3.0 集群时,大概率会遇到。这个报错很简单,但要想顺利解决,却涉及到很多知识点。 目录 知识点:fs.nr_open知识点:file-max & fs.file-nr知识点…

stl set 的 insert()

set 跟 map 容器很像,但它俩又有很大的不同,它们的底层实现都是树,元素都是有序的,但map是可以修改元素的,而 set 就不行了,set 里的元素只有删除的情况,没有修改的情况;所以发现没有…

客户关系处理成功秘籍

目录 绪论: 第一章:客户关系管理概述 1.1 客户关系管理简介 1.2 客户关系管理的重要性 1.3 CRM的目标和原则 1.4 本章小结 第二章:建立客户数据库 2.1 客户数据库的重要性 2.2 建立客户数据库的步骤 2.3 数据库管理系统(DBMS) 2.4 数据分析工具 2.5 数据库安全…

数据治理(二)-基线治理

本文只是大概讲,基线任务治理方法,分为从基线owner和节点owner角度讲述分为两个部分: 1.基线治理(从基线Owner角度) Owner离职/转岗。 基线配置不合理。 高频预警/破线治理。 应急不及时治理。 2.基线任务治理(从节点Onwer) 2.1模型治…

Linux多进程通信(4)——消息队列从入门到实战!

Linux多进程通信总结——进程间通信看这一篇足够啦! 1.基本介绍 1)消息队列的本质其实是一个内核提供的链表,内核基于这个链表,实现了一个数据结构,向消息队列中写数据,实际上是向这个数据结构中插入一个…

怎样系统地学习自动化测试?

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,涨薪更快 平时的测试工作其实细分一下,大概有三个领域…

rust zip异步压缩与解压

在使用actix-web框架的时候,如果使用zip解压任务将会占用一个工作线程,因为zip库是同步阻塞的,想用异步非阻塞需要用另一个库,下面列出同步解压,跟异步解压的两个方法实现,异步解压不会占用工作线程。注意&…

C++ 线程库(thread)与锁(mutex)

一.线程库(thread) 1.1 线程类的简单介绍 thread类文档介绍 在C11之前,涉及到多线程问题,都是和平台相关的,比如windows和linux下各有自己的接口,这使得代码的可移植性比较差。C11中最重要的特性就是对线程进行支持了&#xff…

操作系统的基础知识:操作系统的特征:并发,共享,虚拟,异步

操作系统的特性: 1.并发 并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替注意:并行:指两个或多个事件在同一时刻同时发生。 操作系统的并发性指计算机系统中“同时”运行着多个程序,这…

graphicLayer.startDraw({开启连续绘制isContinued之后,无法获取连续标绘的坐标数据

摘要:graphicLayer.startDraw({开启连续绘制isContinued之后,无法获取连续标绘的坐标数据的解决方案 问题前景: graphicLayer.startDraw({开启连续绘制isContinued之后,.then()方法只走一次,无法获取连续标绘的所有坐…

Qt中显示hex数据的控件

效果类似QTextEdit,但是显示十六进制的数据,比如用于显示抓取串口或者bin文件的数据等等 chunks.h #ifndef CHUNKS_H #define CHUNKS_H/** \cond docNever *//*! The Chunks class is the storage backend for QHexEdit.** When QHexEdit loads data, C…

Java中的循环语句

目录 第一章、Java中的for循环介绍for循环for-each/增强for循环嵌套for循环 第一章、遍历List集合的几种方式简单的for循环增强型for循环Iterator迭代器ListIterator列表迭代器while循环Iterable.forEach()方法Stream.forEach()方法 第一章、Java中的for循环介绍 for循环 ①普…

【Linux】shell 脚本基础使用

在终端中输入命令可以完成一些常用的操作,但是我们都是一条一条输入命令,比较麻烦,为了解决这个问题,就会涉及到 shell 脚本,它可以将很多条命令放到一个文件里面,然后直接运行这个文件即可。 shell 脚本类…

【3GPP】【核心网】核心网/蜂窝网络重点知识面试题二(超详细)

1. 欢迎大家订阅和关注,3GPP通信协议精讲(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待! 目录 1. 对于主要的LTE核心网接口,给出运行在该接口上数据的协议栈,并给出协议特征 2. 通常…

Centos7使用docker安装Jenkins(含pipeline脚本语句)

一、下载Jenkins docker pull jenkins/jenkins:lts 二、启动Jenkins docker run \-u root \--rm \-d \-p 8081:8080 \-p 50000:50000 \-v /root/docker/jenkins/var/jenkins_home:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \-v /usr/bin/docker:/usr…

番外篇 | YOLOv8改进之引入YOLOv9的ADown模块 | 替换YOLOv8卷积

前言:Hello大家好,我是小哥谈。YOLOv9是一种目标检测算法,而ADown模块是YOLOv9中的一个重要组成部分。ADown模块主要用于特征提取和下采样操作,以便在后续的检测任务中更好地捕捉目标的特征。具体来说,ADown模块是YOLOv9中的一个卷积块,由一系列卷积层和池化层组成。它的…

spring boot —— Spring-Cloud-Zuul(网关服务getway),kafka笔记

一、 引入zuul依赖: org.springframework.cloud spring-cloud-starter-zuul 二、创建应用主类。使用EnableZuulProxy注解开启zuul的API网关服务功能: EnableZuulProxy SpringCloudApplication public class Application { public static void mai…

FPN(Feature Pyramid Network)详解

文章涉及个人理解部分,可能有不准确的地方,敬请指正 0. 概述 FPN,全名Feature Pyramid Networks,中文称为特征金字塔网络。它是2017年cvpr上提出的一种网络,主要解决的是目标检测中的多尺度问题。FPN通过简单的网络连…

第十四届蓝桥杯省赛真题-幸运数

代码及解析: #include <iostream> using namespace std;bool check(int x) {int tmpx,len0;while(tmp){len;tmp/10;}//算位数的方法 if(len%21)return 0;//直接retrun 0 int tlen/2;int ans10,ans20;while(t--){ans1x%10;//加每一位x/10; }while(x){ans2x%10;x/10;}if(…