Python小白学习教程从入门到入坑------习题课2(基础巩固)
目录
一、选择题
二、实战题
2.1 实战1:输入一个年份,判断是否是闰年
2.2 实战2:模拟10086查询功能
2.3 实战3:使用嵌套循环输出九九乘法表
2.4 实战4:猜数游戏
一、选择题
1、以下选项符合Python语法要求且能够正确执行的是:( B )
A. min=x if x<y =y
B. min=x if x<y else y
C. if (x>y) print(x)
D. min=x>y ? x:y
【解析】:
选项 A 有语法错误,因为它错误地使用了赋值操作符 = 在条件表达式中。
选项 B 是正确的,因为它正确地使用了 Python 的条件表达式语法。
选项 C 有语法错误,因为它缺少了 if 语句后必需的冒号和缩进的代码块。
选项 D 有语法错误,因为它使用了 C 语言风格的条件表达式,这在 Python 中是不合法的。
2、下面代码的输出结果是(C)
for i in range(8):if i%2!=1:continueelse:print(i,end=',')
A. 0
B. 1
C. 1,3,5,7
D. 0,2,4,6
【解析】:
循环范围:range(8) 生成一个从 0 到 7 的整数序列(包括 0,不包括 8)
条件判断:if i % 2 != 1 检查 i 是否为奇数。这里 % 是取模运算符,i % 2 计算 i 除以 2 的余数。如果余数不等于 1(即 i 不是奇数),则执行 continue 语句
continue 语句:continue 会跳过当前循环的剩余部分,并继续下一次循环迭代。这意味着如果 i 不是奇数,print 语句将不会被执行
3、以下选项中不能退出循环的是 ( A )
while True:num = eval('请输入一个整数:')if num//3:break
A. 2
B. 3
C. 4
D. 7
【解析】:if num // 3: 语句检查 num 除以 3 的整数商是否非零。在 Python 中,整数除法 // 会返回商的整数部分,如果结果不为零,则条件为真
4、下面代码输出的图形是 ( A )
for i in range(-3,4):if i<0:print(' '*(-i)+'*'*(4+i))elif i>0:print(' '*3+'*'*(4-i))else:print('*'*7)
【解析】:
循环范围:
range(-3, 4) 生成一个从 -3 到 3 的整数序列(包括 -3,不包括 4)
条件判断:
如果 i < 0,则执行第一个 print 语句
如果 i > 0,则执行第二个 print 语句
如果 i == 0,则执行 else 子句中的 print 语句
输出分析:
当 i = -3 时,输出 ' '*(-(-3)) + '*'*(4 + (-3)),即 ' '*3 + '*'*1,结果是: *
当 i = -2 时,输出 ' '*(-(-2)) + '*'*(4 + (-2)),即 ' '*2 + '*'*2,结果是: **
当 i = -1 时,输出 ' '*(-(-1)) + '*'*(4 + (-1)),即 ' '*1 + '*'*3,结果是: ***
当 i = 0 时,输出 '*'*7,结果是 *******。
下面同理可得...
将这些输出组合起来,我们得到的图形是:
******
*************
5、下面代码的输出结果是( B )
a = 0
for i in range(1,5):a+=i
print(a)
A. 0
B. 10
C. 11
D. 15
【解析】:
初始化:变量 a 被初始化为 0
循环:for i in range(1, 5): 创建一个循环,其中 i 的值从 1 变化到 4(包括 1,不包括 5)
循环体:在每次循环迭代中,执行 a += i,这相当于 a = a + i
累加过程:
当 i = 1 时,a 变为 0 + 1 = 1
当 i = 2 时,a 变为 1 + 2 = 3
当 i = 3 时,a 变为 3 + 3 = 6
当 i = 4 时,a 变为 6 + 4 = 10
输出结果:循环结束后,打印 a 的值,即 10
6、下面代码的输出结果是( B )
for i in 'Welcome to BeiJing':if i=='B':breakelse:print(i,end='')
A. Welcome
B. Welcome to
C. BeiJing
D. Welcome to BeiJing
【解析】:
循环:for i in 'Welcome to BeiJing': 创建一个循环,其中 i 将依次遍历字符串 'Welcome to BeiJing' 中的每个字符
条件判断:在每次循环迭代中,检查 i 是否等于 'B'
if 子句:如果 i 等于 'B',则执行 break 语句,立即终止循环
else 子句:如果 i 不等于 'B',则执行 print(i, end=''),打印字符 i 而不换行(end='' 参数指定了不以默认的换行符 \n 结尾)
最终结果:由于循环在遇到字符 'B' 时被终止,因此输出的字符串是 'Welcome to '(注意结尾有一个空格)
7、下面代码的输出结果是(D)
for i in 'python':for j in range(2):print(i,end='')if i == 'h':break
A. ppyytthhoonn
B. python
C. ppyytt
D. ppyytthoonn
【解析】:
外层循环:for i in 'python': 创建一个循环,其中 i 将依次遍历字符串 'python' 中的每个字符:'p', 'y', 't', 'h', 'o', 'n'
内层循环:对于外层循环中的每个 i,执行 for j in range(2):,这意味着内层循环将执行两次(j 的值为 0 和 1)
打印字符:在内层循环中,print(i, end='') 会打印字符 i 而不换行(由于 end='')
条件判断:接着,检查 if i == 'h':。如果条件为真(即 i 等于 'h'),则执行 break 语句
输出过程:
当 i = 'p' 时,内层循环打印 'pp'
当 i = 'y' 时,内层循环打印 'yy'
当 i = 't' 时,内层循环打印 'tt'
当 i = 'h' 时,内层循环第一次迭代打印 'h',然后遇到 if i == 'h': 条件为真,执行 break,跳出内层循环(因此不会打印第二个 'h')
当 i = 'o' 时,内层循环打印 'oo'
当 i = 'n' 时,内层循环打印 'nn'
最终结果:所有打印的字符连在一起,不换行,形成输出字符串
8、以下程序中,while循环的执行次数是( C )
i=0
while i<10:if i<1:print('Hello')continueif i==5:print('World')breaki+=1
A. 10 次
B. 4次
C. 死循环
D. 5次
【解析】:
初始化:变量 i 被初始化为 0
循环条件:while i < 10: 表示当 i 小于 10 时,循环继续执行
第一次循环:
i = 0,满足 i < 1,因此执行 print('Hello')
continue 语句导致跳过当前循环的剩余部分,直接进行下一次循环迭代,因此 i += 1 没有被执行
循环回到顶部,但由于 continue 跳过了 i += 1,i 仍然是 0
第二次循环(注意,这是由于上一步的 continue 导致的重新检查循环条件):
i = 0(仍然是 0,因为 i += 1 没有执行),满足 i < 1,再次执行 print('Hello')
再次遇到 continue,跳过 i += 1,
……
循环往复成为死循环
二、实战题
2.1 实战1:输入一个年份,判断是否是闰年
要求:从键盘获取一个四位的整数年份,判断其是否是闰年,闰年的判断条件为:能被4整除但不能被100整除,或者能被400整除。
【参考】:
year=eval(input("请输入一个四位的年份:"))
if(year%4==0 and year%100!=0) or year%400==0:print(year,"年是闰年")
else:print("year",'年是平年')
输入2023则输出:
请输入一个四位的年份:2023
2023 年是平年
输入2024则输出:
请输入一个四位的年份:2024
2024 年是闰年
2.2 实战2:模拟10086查询功能
需求:输入1,显示当前余额;输入2,显示当前的剩余流量,单位为G;输入3,显示当前的剩余通话,单位为分钟;输入0,退出自助查询系统。
【参考】:
#(1)初始化变量
answer='y'
#(2)条件判断
while answer=='y':
#(3)循环操作,语句块print('------------欢迎使用10086查询功能----------')print('1.查询当前余额')print('2.查询当前的剩余流量')print('3.查询当前的剩余通话时长')print('0.退出系统')choice=input('请输入您要执行的操作:') # input的结果是字符串类型if choice=='1':print('当前余额为:123.5元')elif choice=='2':print("当前的剩余流量为:4GB")elif choice=='3':print("当前的剩余通话时间长为:300分钟")elif choice=='0':print('程序退出,谢谢您的使用')breakelse:print('对不起,您输入的有误,请重新输入')# (4)改变变量answer=input("还继续操作吗?y/n")
else: # while...elseprint('程序退出,谢谢您的使用')
参考输出结果:不同的输入,对应不同的输出
------------欢迎使用10086查询功能----------
1.查询当前余额
2.查询当前的剩余流量
3.查询当前的剩余通话时长
0.退出系统
请输入您要执行的操作:1
当前余额为:123.5元
还继续操作吗?y/ny
------------欢迎使用10086查询功能----------
1.查询当前余额
2.查询当前的剩余流量
3.查询当前的剩余通话时长
0.退出系统
请输入您要执行的操作:3
当前的剩余通话时间长为:300分钟
还继续操作吗?y/nn
程序退出,谢谢您的使用进程已结束,退出代码 0
2.3 实战3:使用嵌套循环输出九九乘法表
要求:使用嵌套循环输出九九乘法表,内层循环与外层循环的关系,输出的数据的个数与行数相同,即第一行输出一个,1*1=1,第二行输出两个1*2=2 2*2=4 依次类推。
【参考】:
# 九九乘法表
for i in range(1, 10): # 外层循环控制行数for j in range(1, i + 1): # 内层循环控制每行输出的数据个数,与外层循环变量i相关# 输出乘法表达式和结果,注意格式化输出以保持对齐print(f"{j}*{i}={i*j}", end='\t') # 用制表符隔开# 每行输出完毕后换行print()
运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2.4 实战4:猜数游戏
需求:随机生成一个1~100之间的整数,然后用户循环猜这个数,对于用户的输入,可提示“大了”,“小了”直到猜准确为止,输出用户的猜测次数(猜测次数不大于10次)。
【参考】:
import random# 随机生成一个1到100之间的整数
rand = random.randint(1, 100)count=1 # 记录猜数的次数while count<=10:# 获取用户的输入,并将其转换为整数number = int(input("在我心中有个数,在1-100之间,请你猜一猜: "))if number==rand:print('猜对了')breakif number < rand:print("小了")elif number > rand:print("大了")count+=1 # 每猜一次count次数要加1
# 判断次数
if count<=3:print('真聪明,一共猜了',count,'次')elif count <= 6:print('还可以,一共猜了', count,'次')
else:print('猜的次数有点多啊,一共猜了', count,'次')
程序运行结果:
在我心中有个数,在1-100之间,请你猜一猜: 50
小了
在我心中有个数,在1-100之间,请你猜一猜: 75
猜对了
真聪明,一共猜了 2 次
今天的分享就到这里了,希望能够对大家有所帮助~
相关文章:
Python小白学习教程从入门到入坑------习题课2(基础巩固)
目录 一、选择题 二、实战题 2.1 实战1:输入一个年份,判断是否是闰年 2.2 实战2:模拟10086查询功能 2.3 实战3:使用嵌套循环输出九九乘法表 2.4 实战4:猜数游戏 一、选择题 1、以下选项符合Python语法要求且能够…...
基于IPMI_SSH的服务器硬件监控指标解读
随着企业IT架构的日益复杂化,对服务器的实时监控和管理变得至关重要。监控易作为一款功能强大的监控软件,支持通过IPMI_SSH的方式对服务器硬件进行远程监控,确保服务器的稳定运行。本文将针对监控易中基于IPMI_SSH的服务器硬件监控指标进行解…...
数据结构-二叉树及其遍历
🚀欢迎来到我的【数据结构】专栏🚀 🙋我是小蜗,一名在职牛马。🐒我的博客主页 ➡️ ➡️ 小蜗向前冲的主页🙏🙏欢迎大家的关注,你们的关注是我创作的最大动力🙏🙏🌍前言 本篇文章咱们聊聊数据结构中的树,准确的说因该是只说一说二叉树以及相…...
(33)iptables设置防火墙策略常用命令(docker环境、非docker环境)
#普通环境(非docker) # 拒绝所有对端口 31001 的访问 iptables -A INPUT -p tcp --dport 31001 -j DROP # 允许 IP 地址 20.59.30.77 访问端口 31001 (此处用的是虚拟机 所以要使用nat地址的网关) iptables -I INPUT 1 -p tcp -s 20.59.30.77 --dpor…...
fastadmin中动态下拉组件(SelectPage)的使用
实现的功能如下: 1、支持模糊搜索;2、分页功能;3支持多选 官方文档:https://doc.fastadmin.net/doc/178.html html页面引用组件 <div class"form-group"><label class"control-label col-xs-12 col-sm-2…...
通过Python 调整Excel行高、列宽
在Excel中,默认的行高和列宽可能不足以完全显示某些单元格中的内容,特别是当内容较长时。通过调整行高和列宽,可以确保所有数据都能完整显示,避免内容被截断。合理的行高和列宽可以使表格看起来更加整洁和专业,尤其是在…...
力扣-Mysql-3278. 寻找数据科学家职位的候选人 II(中等)
一、题目来源 3278. 寻找数据科学家职位的候选人 II - 力扣(LeetCode) 二、数据表结构 表:Candidates ----------------------- | Column Name | Type | ----------------------- | candidate_id | int | | skill | varch…...
Android笔记(三十六):封装一个Matrix从顶部/底部对齐的ImageView
背景 ImageView的scaleType默认显示图片是这样,但是有时候设计稿需求希望图片左右能紧贴着ImageView左右边缘,又不破坏图片的比例,用自带的matrix,centerCrop等都可以满足 但是都会造成图片的某些区域被裁剪了,如果设…...
web 入门
学习 Web 开发的基础,建议从以下几个方面入门,按步骤循序渐进学习核心知识: 1. 了解 Web 的基础概念 在开始编码之前,先理解 Web 开发的基本工作原理: Web 前端与后端: 前端:负责用户界面和用…...
京东 2025届秋招 自然语言处理
文章目录 个人情况一面/HR面 10min二面/技术面 1h三面/技术面 1h四面/线下HR面 20min 个人情况 先说一下个人情况: 学校情况:211本中9硕,本硕学校都一般,本硕都是计算机科班,但研究方向并不是NLP,而是图表…...
Mybatis框架之模板方法模式 (Template Method Pattern)
MyBatis 中也使用到了 模板方法模式 (Template Method Pattern),主要体现在 执行 SQL 语句的流程控制 上。模板方法模式允许 MyBatis 定义数据库操作的标准流程,并允许子类或特定实现类去实现某些步骤。这种模式使得 MyBatis 能够在处理不同类型的 SQL 操…...
【进阶系列】python简单爬虫实例
python有一个很强大的功能就是爬取网页的信息,这里是CNBlogs 网站,我们将以此网站为实例,爬取指定个页面的大标题内容。代码如下: 首先是导入库: # 导入所需的库 import requests # 用于发送HTTP请求 from bs4 impor…...
️虚拟机配置NAT和Bridge模式
虚拟机的网络配置 桥接 通过使用物理机网卡 具有单独ip NAT 把物理机为路由器进行上网 NAT模式: 所谓nat模式,就是虚拟系统会通过宿主机的网络来访问外网,而这里的宿主机相当于有两个网卡,一个是真实网卡,一个是虚拟…...
解决Spring Boot整合Redis时的连接问题
前言 在使用Spring Boot整合Redis的过程中,经常会遇到连接问题,尤其是当Redis服务部署在远程服务器上时。 问题描述 当你尝试连接到Redis服务器时,可能会遇到以下错误: org.springframework.data.redis.connection.PoolExcept…...
109. UE5 GAS RPG 实现检查点的存档功能
在这一篇文章里,我们接着实现存档的功能,保存当前玩家的生成位置,游戏里有很多中方式去实现玩家的位置存储,这里我们采用检查点的方式,当玩家接触到当前检查点后,我们可以通过检查点进行保存玩家的状态&…...
springboot005基于springboot学生心理咨询评估系统得设计与实现。
项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…...
ESC算法/逃生:一种基于人群疏散行为的优化方法
文章介绍了一种有用的算法,称为逃生或逃生算法(ESC),受人群疏散行为的启发,用于解决现实世界的案例和基准问题。ESC算法模拟了疏散过程中人群的行为,其中人群在探索阶段被分为平静、羊群和恐慌组࿰…...
构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤
文章目录 前言1. 安装MySQL2. 安装phpMyAdmin3. 修改User表4. 本地测试连接MySQL5. 安装cpolar内网穿透6. 配置MySQL公网访问地址7. 配置MySQL固定公网地址8. 配置phpMyAdmin公网地址9. 配置phpmyadmin固定公网地址 前言 本文将详细讲解如何在群晖NAS上安装MySQL及其数据库管理…...
【人工智能】深入理解图神经网络(GNN):用Python实现社交网络节点分类与分子结构分析
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 图神经网络(Graph Neural Network, GNN)是近年来在深度学习领域迅速发展的新兴方向,主要用于处理图结构数据。GNN在社交网络分析、化学分…...
Qt 日志文件的滚动写入
Qt 日志文件的滚动写入 flyfish 日志文件的滚动写入功能。在日志文件达到10MB时创建新的日志文件,并且在总日志文件大小达到10GB时开始覆盖最早的日志文件 以监控一个文件夹的写日志为例 日志文件创建与管理 初始化日志文件:在FileMonitor类的构造函…...
【c语言】数据包捕获和分析工具
请解释一下数据包捕获和分析工具(如Wireshark)的工作原理和用途。 数据包捕获和分析工具,如Wireshark(前身为Ethereal),是一种网络协议分析软件,它允许用户实时监控、抓取并分析计算机网络中的网…...
移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——14.哈希(2)(模拟实现)
1.概念介绍 1.1开散列 开散列(Open Hashing),也叫链地址法,是一种解决哈希冲突的方法。每个哈希表槽位保存一个链表,所有散列到同一位置的元素都存储在该链表中。当插入元素发生冲突时,将新元素添加到相应…...
请描述一下JVM(Java虚拟机)的生命周期及其对应用程序性能的影响
1、请描述一下JVM(Java虚拟机)的生命周期及其对应用程序性能的影响。 JVM(Java虚拟机)的生命周期主要涉及以下几个阶段:加载、验证、准备、解析、执行、卸载。每个阶段都有其特定的作用和影响。 加载:JVM…...
展会邀约|加速科技与您相约IC China 2024!
第二十一届中国国际半导体博览会( IC China 2024)将于 2024 年11月18日—11月20日在北京国家会议中心举行。加速科技将携高性能测试机ST2500EX、ST2500E、eATE及全系测试解决方案亮相E2馆B150展位。博览会期间,将同期举办"半导体产业前沿…...
鸿蒙中服务卡片数据的获取和渲染
1. 2.在卡片中使用LocalStorageProp接受传递的数据 LocalStorageProp("configNewsHead") configNewsHeadLocal: ConfigNewsHeadInfoItem[] [] 注意:LocalStorageProp括号中的为第一步图片2中的键 3.第一次在服务卡片的第一个卡片中可能会获取不到数据…...
运维篇-修复centos7无法下载docker问题
修复centos7无法下载docker问题 1、安装docker时报错2、docker无法下载镜像 1、安装docker时报错 linux的centos系统,安装docker时会报错 –> Finished Dependency Resolution Error: Package: glibc-2.17-307.el7.1.i686 (base) Requires: glibc-common 2.17…...
【论文阅读】WaDec: Decompiling WebAssembly Using Large Language Model
论文阅读笔记:WaDec: Decompiling WebAssembly Using Large Language Model 1. 来源出处 论文标题: WaDec: Decompiling WebAssembly Using Large Language Model作者: Xinyu She, Yanjie Zhao, Haoyu Wang会议: 39th IEEE/ACM International Conference on Automated Softwar…...
redis类型介绍
1. 字符串(String): • 简介:最基础的数据类型,可以存储任何形式的字符串,包括文本数据和数字数据。 • 常用操作:SET、GET、INCR、DECR等。 2. 列表(List): …...
kubernetes如何配置默认存储
如果不想每次都创建PV,希望k8s集群中能够配置号默认存储,然后根据你的PVC自动创建PV,就需要安装一个默认存储,也就是storageclass 什么是storageclass Kubernetes提供了一套可以自动创建PV的机制,即:Dyna…...
【微服务】Spring AI 使用详解
目录 一、前言 二、Spring AI 概述 2.1 什么是Spring AI 2.2 Spring AI 特点 2.3 Spring AI 带来的便利 2.4 Spring AI 应用领域 2.4.1 聊天模型 2.4.2 文本到图像模型 2.4.3 音频转文本 2.4.4 嵌入大模型使用 2.4.5 矢量数据库支持 2.4.6 数据工程ETL框架 三、Sp…...
怎么做qq代刷网站/抖音广告代运营
这是一个实际的应用场景案例,某零件供应商提供了不同工况下零件性能的数据,因为需要比较不同工况下零件性能的差异,该供应商提供了一份数据和可视化的图。因为供应商没有提供计算防范,本着研究的精神想复现一下供应商提供数据的可…...
wordpress远程图片下载插件/站长素材
flowable 新增了idm模块,主要用于管理flowable-admin、flowable-idm、flowable-modeler、flowable-rest、flowable-task等模块。 flowable idm用于管理 的表如下: act_id_priv、act_id_group、act_id_membership、act_id_priv_mapping、act_id_property、…...
网站建设项目及费用/杭州百度快照
《领域驱动设计》书中在书面的设计文档小节中讲到:每个敏捷过程对于文档编写都有自己的原则,极限编程提倡不适用额外的设计文档,让代码自己来表达含义,但将代码作为设计文档有他的局限性。会使读者负担过多的细节问题。尽管代码的…...
asp网站打开/农村电商平台
关于 http://openresty.org/cn/about.html 这个开源 Web 平台主要由章亦春(agentzh)维护。在 2011 年之前曾由淘宝网赞助,在后来的 2012 ~ 2016 年间主要由美国的 CloudFlare 公司 提供支持。目前,OpenResty 主要由 OpenResty 软件…...
wordpress创建模板/精准营销的概念
以下介绍安装raspbian 1.工具 电脑一台raspberry pi 3一部SD卡(C10)和读卡器网线和数据线2.方法/步骤 下载工具Win32DiskImager(系统烧录工具)PuTTY(ssh登录工具)vncviewer(客户端)I…...
网站建设中企动力推荐/广东seo价格是多少钱
Symfony 一些介绍:路由:能限制 hostname,这就让有大量公共功能的网站可以共用一套代码;URI 识别支持 Reg 检测,让 url 能定义的随心所欲;支持前缀,import,便于模块化。Twig模板&…...