当前位置: 首页 > news >正文

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.lryc.cn/news/308824.html

相关文章:

  • 视频在线压缩
  • Python列表的合并、重复、判断与切片操作你学会了吗
  • Vue(3.3.4)+three.js(0.161.0)实现3D可视化地图
  • 瑞吉苍穹外卖如何拓展?已经经过不同公司多轮面试。项目中会问到哪些问题?以及问题如何解决?
  • 动态内存分配
  • 【C语言】常见的动态内存管理错误
  • 数据结构之二叉树的精讲
  • ETL是什么
  • 华为配置WLAN高密业务示例
  • C++——类和对象(1)
  • vue+element ui上传图片到七牛云服务器
  • 学不动系列-git-hooks和husky+lintstage
  • K8S相关小技巧《四》
  • Delphi 报错 Type androidx.collection.ArraySet is defined multiple times
  • Post请求中文乱码问题
  • LeetCode -- 79.单词搜索
  • 单元测试、集成测试、系统测试有什么不同?
  • 数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库
  • Linux进程管理:(二)进程调度原语
  • Compose 介绍
  • 5分钟搞定Python中函数的参数
  • Gitlab: 私有化部署
  • 深入理解Linux线程(LWP):概念、结构与实现机制(2)
  • VBS脚本搞定,快速批量提取一堆Excel文件中的数据
  • 大数据分析案例-基于SVM支持向量机算法构建手机价格分类预测模型
  • WPF 滑动条样式
  • 论文设计任务书学习文档|基于Web的个性化简历职位推荐系统的设计与实现
  • Win11系统安装安卓子系统教程
  • Python实现双向链表:从基础到应用
  • c# 读取DataGridView中的数据