C++/Python简单练手题

前言

最近需要开始使用python,但是对python了解的并不多,于是先从很早之前刚学C++时写过的一些练手题开始,使用python来实现相同的功能,在温习python基础语法的同时,也一起来感受感受python的魅力

99乘法表

c++:

#include<iostream>
int main()
{int i,j;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++)std::cout <<j<<"*"<<i <<"=" << i * j << "  ";std::cout << '\n';}
}

python:

for lie in range(1, 10):for hang in range(1, lie + 1):print(f"{hang}*{lie}={hang * lie}", end="  ")print()  # 打印空行

素数

c++

#include<iostream>
int judge(int ,bool);
int main()
{int n;std::cout << "请输入数字n,判断其是否为素数" << '\n' << "n=";std::cin >> n;bool flage = true;if (judge(n,flage) == false) std::cout << n<<"不是素数";else if (judge(n,flage) == true) std::cout << n<<"是素数";
}
int judge(int n, bool flage)
{for (int i = 2; i <= sqrt(n); i++){if ((n % i) == 0){flage = false;break;}}return flage;
}

python:

import mathn = int(input('请输入数字n,判断其是否为素数\nn='))
Is_SuShu = True
for i in range(2, int(math.sqrt(n))):if n % i == 0:Is_SuShu = Falsebreak
if Is_SuShu:print(f'{n}是素数')
else:print(f'{n}不是素数')

水仙花数

c++:

#include<iostream>//水仙花数:各位数字的立方相加等于其本身
//如果三位数的话,就是个位数的立方加上十位数的立方加上百位数的立方等于其本身的数,就叫水仙花数
int main()//求100到999内的所有水仙花数
{int i = 100;int ge, shi, bai;do {ge = i % 10;shi = (i % 100) / 10;bai = (i % 1000) / 100;if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)std::cout << i << '\n';i++;} while (i <= 999);
return 0;
}

python:

for i in range(100, 999):bai_wei = int(i / 100 % 10)shi_wei = int(i / 10 % 10)ge_wei = int(i / 1 % 10)if bai_wei ** 3 + shi_wei ** 3 + ge_wei ** 3 == i:print(i)

括号匹配

#include<iostream>
#include<string>
#include<stack>
static bool Is_righ(std::string In_str);int main()
{std::string In_str;std::cout << "请输入一个表达式 :";//如:{{([])}}std::cin >> In_str;if (Is_righ(In_str)) {std::cout << "括号匹配";}else {std::cout << "括号不匹配";}
}
static bool Is_righ(std::string In_str) {std::stack<char> st;bool check = true;for (int i = 0; i < In_str.length(); i++) {switch (In_str[i]) {case '(': {st.push('('); break;}case '[': {st.push('['); break;}case '{': {st.push('{'); break;}case ')': {if (st.top() == '(')st.pop();else {check = false;break;}break;}case ']': {if (st.top() == '[')st.pop();else {check = false;break;}break;}case '}': {if (st.top() == '{')st.pop();else {check = false;break;}break;}default:break;}}if (st.empty() && check)return true;elsereturn false;
}

python:

st = []
In_str = input("请输入一个表达式:")  # 如{()[]}Is_ok = True
for i in In_str:if i == '(':st.append('(')elif i == '[':st.append('[')elif i == '{':st.append('{')elif i == ')':if st[-1] == '(':st.pop()else:Is_ok = Falsebreakelif i == ']':if st[-1] == '[':st.pop()else:Is_ok = Falsebreakelif i == '}':if st[-1] == '{':st.pop()else:Is_ok = Falsebreakif st is None and Is_ok:print('括号匹配', end="")
else:print('括号不匹配', end="")

python整体比C++要简介的多,当然使用python完成C++的练习题肯定也不能完全体现python的优势。

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

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

相关文章

kettle开发-Day43-加密环境下运行作业

前言&#xff1a; 金三银四&#xff0c;开年第一篇我们来介绍下&#xff0c;怎么在加密情况下运行我们的kettle作业及任务。无疑现在所有企业都认识到加密的重要性&#xff0c;加密后的文件在对外传输的时候不能被访问&#xff0c;访问时出现一堆乱码&#xff0c;同时正常的应用…

1分钟学会Python字符串前后缀与编解码

1.前缀和后缀 前缀和后缀指的是&#xff1a;字符串是否以指定字符开头和结尾 2.startswith() 判断字符串是否以指定字符开头&#xff0c;若是返回True&#xff0c;若不是返回False str1 "HelloPython"print(str1.startswith("Hello")) # Trueprint…

Navicat Premium 16:打破数据库界限,实现高效管理mac/win版

Navicat Premium 16是一款功能强大的数据库管理工具&#xff0c;旨在帮助用户更轻松地连接、管理和保护各种数据库。该软件支持多种数据库系统&#xff0c;如MySQL、Oracle、SQL Server、PostgreSQL等&#xff0c;并提供了直观的图形界面&#xff0c;使用户能够轻松地完成各种数…

【力扣白嫖日记】585.2016年的投资

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 585.2016年的投资 表&#xff1a;Person 列名类型pidinttiv_2015floattiv_2016floatlatfloatlonfloat pid …

AI也来打掼蛋,难道人工智能也能当领导?

在人工智能&#xff08;AI&#xff09;的研究领域中&#xff0c;游戏被视为现实世界的简化模型&#xff0c;常常是研究的首选平台。这些研究主要关注游戏代理的决策过程。例如&#xff0c;中国的传统卡牌游戏“掼蛋”&#xff08;字面意思是“扔鸡蛋”&#xff09;就是一个挑战…

Unity(第十七部)Unity自带的角色控制器

组件Character Controller 中文角色控制器 using System.Collections; using System.Collections.Generic; using UnityEngine;public class player : MonoBehaviour {private CharacterController player;void Start(){player GetComponent<CharacterController>();}v…

对于爬虫的学习

本地爬取 package MyApi.a08regexdemo;import java.util.regex.Matcher; import java.util.regex.Pattern;public class RegexDemo03 {public static void main(String[] args) {//要求&#xff1a;找出里面所有javaxxString str"Java自从95年问世以来&#xff0c;经历了…

腾讯日常实习-数据科学-初试凉经

个人背景&#xff1a;双985 腾讯会议面了一个小时左右&#xff0c;过程如下&#xff1a; 1.面试官首先介绍了一下部门&#xff08;腾讯云&#xff09;的情况和业务方向。 2.让我介绍一下自己&#xff08;目前情况&#xff0c;科研经历&#xff0c;项目经历&#xff09;。 3.就我…

HarmonyOS—编译构建概述

编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器或真机设备…

牛皮癣发作和复发的触发因素

谷禾健康 银屑病&#xff0c;又叫牛皮癣&#xff0c;会导致出现皮疹伴发痒的鳞状斑块&#xff0c;最常见于膝盖、肘部、躯干和头皮。通常呈周期性发展&#xff0c;发作数周或数月&#xff0c;然后消退一段时间&#xff0c;长期的发作和复发会给患者带来很大的痛苦和困扰&#x…

Qt5.9.9交叉编译(带sqlite3、OpenSSL)

1、交叉编译工具链 这里ARM平台是ARM CortexA9的&#xff0c;一般交叉编译工具链demo板厂商都会提供&#xff0c;若未提供或想更换新版本的交叉编译工具链可参考以下方式获取。 1.1 下载适用于ARM CortexA9的交叉编译工具链 Linaro Releases下载gcc4的最新版xxxx-i686_arm-li…

洛谷P1009阶乘之和

题目描述 用高精度计算出S1!2!3!⋯n!&#xff08;n≤50&#xff09;。 其中 ! 表示阶乘&#xff0c;定义为 n!n(n−1)(n−2)⋯1。例如&#xff0c;5!543211205!54321120。 输入格式 一个正整数 n。 输出格式 一个正整数 S&#xff0c;表示计算结果。 输入输出样例 输入…

2024/3/1 贪心

跳跳 跳跳&#xff01; - 洛谷 思路&#xff1a;从一个数组里面依次取出最大值和最小值&#xff0c;然后进行运算 完整代码&#xff1a; #include <bits/stdc.h> #define int long long #define PII std::pair<int,int> signed main() {int n;std::cin >>…

接口文档-示例

接口文档-示例 1 根据ID查询员工 1.1 基本信息 请求路径&#xff1a;/emp 请求方式&#xff1a;GET 接口描述&#xff1a;该接口用于根据ID查询员工信息 1.2 请求参数 参数说明&#xff1a; 参数名类型是否必须备注idnumber必须员工ID 请求样例&#xff1a; GET http://l…

string【基础篇】

1.1string字符串类 注意&#xff1a;这个类独立于所使用的编码来处理字节:如果用来处理多字节或变长字符(如UTF-8)的序列&#xff0c;这个 类的所有成员(如长度或大小)以及它的迭代器&#xff0c;将仍然按照字节(而不是实际编码的字符)来操作。 总结&#xff1a; string是表…

设计模式系列文章-7个创建型模式更新已完结

其实从2019年开始就有些一套关于设计模式的系列文章&#xff0c;但是因为种种原因一直搁置到现在。直到2024年才又恢复更新。 24年1月份上旬一直在弄博客站&#xff1a;https://jaune162.blog 的搭建 24年1月份下旬弄专题站&#xff1a;https://books.jaune162.blog 的搭建。…

「优选算法刷题」:二进制求和

一、题目 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a "11", b "1" 输出&#xff1a;"100" 示例 2&#xff1a; 输入&#xff1a;a "1010", b "1011" …

Qt应用软件【测试篇】vargrid内存检查工具

文章目录 vargrid介绍vargrid官网vargrid安装常用命令Valgrind的主要命令vargrid介绍 Valgrind是一个用于构建动态分析工具的框架,能自动检测许多内存管理和线程错误,并详细分析程序性能。Valgrind发行版包括七个成熟工具:内存错误检测器、两个线程错误检测器、缓存和分支预…

Java8 - LocalDateTime时间日期类使用详解

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

redis+定时 模拟滑动窗口实现熔断降级

业务背景 公司业务现用的通道为 A、B&#xff0c;为了降本&#xff0c;引入新的支付通道 Y&#xff0c;但 Y 通道的稳定性要低于 A、B&#xff0c;系统要能在 Y 通道故障时自动切回到 A、B&#xff0c;等 Y 恢复正常后&#xff0c;再切换到 Y。 乍一看很简单&#xff0c;不就是…