Python快速编程小案例--逢7拍手小游戏

news2024/11/24 9:35:23

提示:(个人学习),案例来自工业和信息化“十三五”人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著


逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。本实例要求编写程序,模拟实现逢七拍手游戏,输出 100 以内需要拍手的数字。

一、实例目标

  • for 循环与 range()函数的使用
  • 字符串中find()方法的使用

二、实例分析

  • 是否为7的倍数,即一个数取模值为0。
  • 是否包含7,使用 findO方法判断,当返回值为-1时表示不包含7。

三、代码实现

for i in range(1, 101):
    # 判断条件:既不包含7,也不是7的倍数
    if "7" in str(i) or i % 7 == 0:
        # 输出 *,去掉了换行符
        print('*', end='、')
    else:
        # 如果不包含7且不是7的倍数,输出数字
        print(i, end='、')

四、运行结果

6e039945a2ab43ed89f01c9021f92e0b.png

五、代码解释

这段代码的目的是遍历1到100(包含1和100)之间的所有整数,并检查每个数字是否满足两个条件:一是不包含数字7,二不是7的倍数。对于不满足这两个条件之一(即包含7或是7的倍数)的数字,它输出一个星号(*),否则输出该数字本身。所有输出项之间用顿号(、)分隔,而不是默认的换行符。

(一)、for i in range(1, 101):

这行代码使用for循环遍历从1到100的整数(range(1, 101)生成一个从1开始到100结束的序列,包含1和100)。

(二)、if "7" in str(i) or i % 7 == 0:

这行代码判断当前数字i是否包含数字7或是7的倍数。str(i)将数字i转换为字符串,以便使用in关键字检查字符串中是否包含字符'7'。i % 7 == 0是一个条件表达式,用于检查i除以7的余数是否为0,即i是否是7的倍数。如果这两个条件中的任何一个为真(即i包含7或是7的倍数),则执行下一行代码。

(三)、print('*', end='、')

如果上述条件为真,这行代码将输出一个星号(*),并通过end='、'参数指定输出后不换行,而是以顿号(、)作为结束符。

(四)、else:

如果上述条件为假(即i既不包含7也不是7的倍数),则执行else块中的代码。

(五)、print(i, end='、')

在else块中,这行代码输出当前的数字i,同样通过end='、'参数指定输出后不换行,以顿号(、)作为结束符。

综上所述,这段代码的输出将是从1到100的所有整数,其中包含7的数字和7的倍数被替换为星号(*),所有输出项之间用顿号(、)分隔。

六、总结

逢七拍手游戏是一个简单而有趣的数学游戏,其规则是从1开始顺序数数,每当遇到包含数字7或者是7的倍数的数字时,不直接说出该数字,而是通过拍手来代替。这个游戏不仅考验了玩家的反应速度和数学计算能力,还增加了数数的趣味性。

  • 在实现这个游戏的编程实例中,我们编写了一个程序来模拟逢七拍手游戏的过程,并输出100以内需要拍手的数字。程序通过遍历1到100之间的所有整数,对每个数字进行检查,判断其是否包含数字7或者是7的倍数。如果是,则将该数字视为需要拍手的数字,并将其输出。
  • 具体来说,程序使用了循环结构和条件判断来实现这一功能。循环结构用于遍历1到100之间的所有整数,而条件判断则用于检查每个数字是否满足包含7或者是7的倍数的条件。当条件满足时,程序会输出该数字,表示需要拍手。

通过这个编程实例,我们不仅实现了逢七拍手游戏的功能,还进一步加深了对循环结构、条件判断等编程概念的理解。同时,这个游戏也提醒我们在日常生活中要善于发现和利用数学规律,让我们的生活更加有趣和丰富。


!仅供参考

 

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

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

相关文章

查缺补漏----时间复杂度

1.如果每一次循环变量都是,那么直接将每一层变量的最大遍历次数相乘 第一个代码段:O(n^3) 第二个代码段:O(n*i*j),由于 i 的范围0~n-1,所以取n,j 同理,所以最…

Java | Leetcode Java题解之第473题火柴拼正方形

题目&#xff1a; 题解&#xff1a; class Solution {public boolean makesquare(int[] matchsticks) {int totalLen Arrays.stream(matchsticks).sum();if (totalLen % 4 ! 0) {return false;}int len totalLen / 4, n matchsticks.length;int[] dp new int[1 << n…

【hot100-java】从前序与中序遍历序列构造二叉树

二叉树篇 首先创建一个映射来存储中序遍历中值与索引的关系&#xff0c;然后通过递归调用函数dfs来构建二叉树。函数dfs接受前序遍历和中序遍历的左右边界索引以及前序遍历和中序遍历的列表和映射作为参数&#xff0c;在每次递归中&#xff0c;先判断边界条件&#xff0c;如果左…

部署 Open WebUI

1. 安装docker 2.启动Hyper-v 3.下载 安装 WSL 4. 打开 DeskDocker 5. 打开 运行 ollama 参考 Windows 部署 ollama-CSDN博客 6. 部署 运行 open webui docker docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gateway -v open-webui:/app/backend/data -…

Flutter Transform 学习

Transform可以在其子组件绘制时对其应用一些矩阵变换来实现一些特效,允许在渲染子部件之前对它们进行变换。 一、Transform构造函数与属性 class Transform extends SingleChildRenderObjectWidget {/// Creates a widget that transforms its child.const Transform({super.k…

C语言 | 第十六章 | 共用体 家庭收支软件-1

P 151 结构体定义三种形式 2023/3/15 一、创建结构体和结构体变量 方式1-先定义结构体&#xff0c;然后再创建结构体变量。 struct Stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在学习小组 float score; //成绩 }; struct Stu stu1, stu2; //…

InternVL2-40B 荣登开源模型榜首丨SuperCLUE中文多模态大模型基准10月榜单

在今年 7 月 4 日举行的 2024 WAIC 科学前沿主论坛上&#xff0c;书生万象多模态大模型&#xff08;InternVL 2.0&#xff09;正式发布&#xff0c;并陆续开源了 1B、2B、4B、8B、26B、40B 以及 76B 共 7 个参数版本的模型。书生万象支持图像、视频、文字、语音、三维点云等模态…

Qt媒体播放器实现

本文介绍Qt媒体播放器实现。 Qt应用程序有时会涉及到视频文件的播放&#xff0c;Qt提供了QVideoWidget类实现视频和音频的播放&#xff0c;本文基于QVideoWidget类实现一个简单的媒体播放器。 1.自定义类&#xff08;基于QVideoWidget类&#xff09; 由于Qt并未提供专门的控…

手写简易shell

我们如果要写一个简易的shell我们要&#xff0c;其实我们搞一个程序替换就行了。 我们分为五部完成 在其中我们最难搞的就是环境变量的更新&#xff0c;因为当我们搞一个子程序出来时&#xff0c;我们子进程的环境变量表是从父进程继承下来的&#xff0c;当我们用cd命令时只会更…

C# 屏幕录制工具

屏幕录制工具 开发语音&#xff1a;C# vb.net 下载地址&#xff1a;https://download.csdn.net/download/polloo2012/89879996 功能&#xff1a;屏幕录制&#xff0c;声卡采集&#xff0c;麦克风采集。 屏幕录制&#xff1a;录制屏幕所有操作&#xff0c;并转换视频格式&…

电脑无线网wifi和有线网同时使用(内网+外网同时使用)

一、要求 我这里以无线网wifi为外网&#xff0c;有线网卡为内网为例&#xff1a; 一、基本信息 无线wifi&#xff08;外网&#xff09;&#xff1a;ip是192.168.179.235&#xff0c;网关是192.168.179.95有线网&#xff08;内网&#xff09;&#xff1a;ip是192.168.10.25&…

《鸟哥的Linux私房菜基础篇》---1 Linux的介绍与如何开启Linux之路

目录 一、Linux的简单介绍 1、Linux的简介 2、Linux的起源与发展 3、主要特点 4、应用场景 二、开启Linux之路 1、学习Linux的相关知识 2、正规表示法、管线命令、数据流重导向 前言 整体大纲预览 一、Linux的简单介绍 1、Linux的简介 &#xff08;1&#xff09;Linu…

【Trulens框架】用TruLens 自动化 RAG 应用项目评估测试

前言&#xff1a; 什么是Trulens TruLens是面向神经网络应用的质量评估工具&#xff0c;它可以帮助你使用反馈函数来客观地评估你的基于LLM&#xff08;语言模型&#xff09;的应用的质量和效果。反馈函数可以帮助你以编程的方式评估输入、输出和中间结果的质量&#xff0c;从而…

K8S---01初识Kubernetes

一.简介 摘取官网: 概述 | KubernetesKubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统&#xff0c;其服务、支持和工具的使用范围广泛。https://k…

【C++堆(优先队列)】1882. 使用服务器处理任务|1979

本文涉及知识点 C堆(优先队列) LeetCode1882. 使用服务器处理任务 给你两个 下标从 0 开始 的整数数组 servers 和 tasks &#xff0c;长度分别为 n​​​​​​ 和 m​​​​​​ 。servers[i] 是第 i​​​​​​​​​​ 台服务器的 权重 &#xff0c;而 tasks[j] 是处理…

【寻找one piece的算法之路】前缀和(一)

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;寻找one piece的刷题之路 什么是前缀和&#xff1f; 主要是通过预先计算数组或矩阵的前缀和&#xff0c;来快速查询子数组或子矩阵的和。这种算法可以用空间换时间&#xff0c;提高查询效率。 概念…

FileOutputStream类

1.操作本地文件的字节输出流&#xff0c;可以把程序中的数据写到本地文件中。 2.书写步骤&#xff1a; 3.实例代码 结果&#xff1a;可以看到my io下面已经生成了一个a.txt文件。 4.注意细节 &#xff08;1&#xff09;参数是字符串表示的路径或者是File对象 &#xff08;2&…

怎么把音频的速度调慢?6个方法调节音频速度

怎么把音频的速度调慢&#xff1f;调慢音频速度不仅可以帮助我们更好地捕捉细节&#xff0c;还能让我们在分析和学习时更加从容。这对于音乐爱好者来说&#xff0c;尤其有助于理解复杂的旋律和和声&#xff0c;使学习过程变得更加高效。而在语言学习中&#xff0c;放慢语速则能…

Spring Cloud 3.x 集成eureka快速入门Demo

1.什么是eureka&#xff1f; Eureka 由 Netflix 开发&#xff0c;是一种基于REST&#xff08;Representational State Transfer&#xff09;的服务&#xff0c;用于定位服务&#xff08;服务注册与发现&#xff09;&#xff0c;以实现中间层服务的负载均衡和故障转移&#xff…

基于webrtc实现音视频通信

与传统通信方式不同&#xff0c;p2p通信的实现过程不依赖于中间服务器的信息收发&#xff0c;直接通过信令等完成通信过程的建立&#xff1b; 通过websocket实现信令服务器的建立&#xff0c;而通过信令来确定通信双方&#xff1b; webrtc通过 sdp协议来完善通信双方间协议的…