在 Python 中将整数转换为罗马数字
罗马数字使用以下七个符号书写。
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
这些符号用于表示数以千计的数字。
罗马写20,可以用两个X拼成XX。 但是 XXXX 不等于 40。
40的罗马数字是XL。
相似地:
Symbol Value
IV 4
IX 9
XL 40
XC 90
CD 400
CM 900
本篇文章将介绍在 Python 中将整数转换为罗马数字。
在 Python 中将整数转换为罗马数字
以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
roman_map = [(1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'),(50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')]def into_roman(num):res = ''while num > 0:for i, r in roman_map:while num >= i:res += rnum -= ireturn res
num = int(input("Enter a number: "))
print(into_roman(num))
输出:
Enter a number: 42
XLII
在上面的示例中,roman_map 包含一个具有相应值和符号的列表。 res 是一个空字符串。
如果 num 的值大于零,则 while num > 0 运行循环。 罗马数字中没有零符号。
roman_map 中的 for i, r 遍历每个 (integer, roman) 对,直到找到第一个数字。
在 Python 中使用除法将整数转换为罗马数字
以下示例使用除法将用户输入的整数转换为罗马数字。
roman_map = { 1: 'I', 4: 'IV', 5: 'V', 9: 'IX', 10: 'X', 40: 'XL',50: 'L', 90: 'XC', 100: 'C', 400: 'CD', 500: 'D', 900: 'CM', 1000: 'M'}
num = int(input("Enter a number: "))# 13 integers in descending order
order = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]for i in order:if num != 0:quotient= num//i# prints the roman numeral if the quotient is not zeroif quotient != 0:for j in range(quotient):print(roman_map[i], end="")# update input number with a remaindernum = num%i
输出:
Enter a number: 42
XLII
在这种方法中,我们将输入整数按降序除以 13 个基本整数。 roman_map 是一个包含 13 个整数的字典,它们的罗马数字等价于键值对。
num 存储用户输入的整数。 顺序列表按降序存储 13 个整数。
输入数字除以顺序列表中的所有数字,直到商不为零。
如果商不为零且有余数,则在 num 中更新。 循环继续运行,我们得到了等价的罗马数字。
现在你应该知道如何在 Python 中将整数转换为罗马数字。 我们希望您觉得本文对您有所帮助。
相关文章:
在 Python 中将整数转换为罗马数字
罗马数字使用以下七个符号书写。 Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000这些符号用于表示数以千计的数字。 罗马写20,可以用两个X拼成XX。 但是 XXXX 不…...
HashTable,Properties,TreeSet源码分析
目录 HashTable基本介绍 Hashtable和HashMap对比 Properties Properties基本介绍 应该如何选择集合 TreeSet源码分析 HashTable基本介绍 1)存放的元素是键值对:即K-V 2)hashtable的键和值都不能为null,否则会抛出NullPointerException 3)hashTab…...
多维图像去噪方法研究
一、背景介绍 由于传感器技术的快速发展,高光谱(HS)遥感(RS)成像为飞机等数据采集设备远距离观测和分析地球表面提供了大量的空间和光谱信息,航天器和卫星。 HS RS 技术的最新进展甚至革命为实现各种应用的…...
托福口语考察内容和形式
首先我们来简单介绍一下托福口语考试的构成和task1的任务形式。 目录 TOEFL Speaking Test Format Independent Task 1 Task 1 Test Format Task 1 Testing Interface(考试界面) Task 1 Question Type...
【地铁上的设计模式】--结构型模式:代理模式
什么是代理模式 代理模式是一种结构型设计模式,通过代理对象控制对原始对象的访问。代理对象充当客户端和实际对象之间的中介,隐藏了实际对象的复杂性,并提供了一些额外的控制。 在软件系统中,代理模式可以有多种应用。例如&…...
Oracle 体系结构
文章目录 Oracle体系结构Oracle的内存结构Oracle的进程结构服务器进程后台进程可选后台进程 物理存储结构逻辑存储结构 概念: Oracle server由Oracle instance和Oracle database组成,Oracle instance由后台进程和共享内存组成,Oracle的实例包…...
java手写日历系统(亲测)
package com.test.test02;import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Scanner;public class Test08 {//这是一个main方法,是程序的入口public static void main(String[] args) {//录入日期的StringScanner sc new Scanner…...
35-40的技术人员为什么会被“不友好”,请你们自身反思-拒做职场的“嗯嗯”怪
35-40真的是IT人员的一道坎吗? IT技术做不到35-40,可是我身边有大量35-40事业发达、职业发展更好的朋友。同时,我身边也有大量35-40被“毕业”的人更多。 本人经过7年来先后带队过3个大型研发团队,最少的也有60-70号人。最多的达到…...
工地烟火AI监控识别分析系统 yolov7
工地烟火AI监控识别分析系统通过yolov7网络模型技术,工地烟火AI监控识别分析系统对工地或者厂区现场监控区域内的烟火进行实时分析报警。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和从边缘到云端的 GPU 设备…...
MATLAB算法实战应用案例精讲-【人工智能】对比学习(概念篇)(补充篇)
目录 前言 几个高频面试题目 基于对比学习(ContrastiveLearning)的文本表示模型【为什么】能学到文本【相似】度? 为什么对比学习能学到很好的语义相似度? 那么如何评价这个表示空间的质量呢? 知识储备 监督学习和非监督学习 算法原理…...
代码随想录算法训练营第三十一天 | 贪心1,想不到怎么找局部最优就做不出来
贪心算法理论基础 代码随想录 (programmercarl.com) 贪心算法理论基础!_哔哩哔哩_bilibili 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额ÿ…...
【SVN】版本控制管理的文件(夹)如何重命名
目录 一、前言二、操作步骤1. 使用SVN重命名(SVN rename)2. 输入新名称3. 确定重命名4. 立刻进行一次提交(commit)5. 补充 三、可能遇到的问题1. 情况一2. 情况二3. 情况三 一、前言 如果只是在本地的文件系统中修改SVN中的文件&a…...
必须包含数字,字母组合的密码正则表达式
输入要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在2-64位之间。 ^(?![0-9]$)(?![a-zA-Z]$)[0-9A-Za-z]{2,64}$ 分开来注释一下: ^ 匹配一行的开头位置 (?![0-9]$) 预测该位置后面不全是数字 (?![a-zA-Z]$) 预…...
JavaScript:栈和对列
文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣(LeetCode)思路 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode)思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣…...
[数据库系统] 一、创建表以及使用主键约束(educoder)
1.任务:在数据库中创建一个表。 2.需要掌握: 如何在指定数据库中创建表。 知识点:如何在指定数据库中创建表。 我们先来了解一下在数据库中创建表的规则: CREATE TABLE 表名(字段名,数据类型,字段名,数据类型,.....) 例如&…...
《走进对象村4》之面向对象的第一大特性——封装
文章目录 🚀文章导读1、封装的概念2、访问限定修饰符3、如何进行封装4、封装的优点: 🚀文章导读 在本篇文章中,将详细的对封装进行总结,文章仅仅是个人的一些理解,如果有错误的地方,还望指出看完…...
罗马数字转整数、整数转罗马数字----2023/5/4
罗马数字转整数----2023/5/4 1.罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D …...
2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。
2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。 答案2023-05-04: 这段代码实现了使用 libswscale 库进行视频缩放的功能。下面是程序的主要流程: 1.获取命令行参…...
QT Android QTextEdit 复制粘贴文本后出现多余数据问题
目录 问题原因解决方法 问题 QT Android QTextEdit 长按选中文本后,点击复制,然后粘贴到手机便签或者QQ中,出现多余数据 例如,要复制的文本为 只因你太美 但实际在便签中粘贴后的文本为 只因你太美 p, li { white-space: pre-wra…...
知识变现海哥:你为什么努力却不富有,大概率是你不懂这个道理
要有价值观念,要有交换思维。商业的本质都是基于价值交换,你能为别人提供多少价值,你就能赚多少米,你帮助别人处理的问题越多你越有价值,你能成就多少人你就能被多少人成就。这是商业行为的底层逻辑。 你没赚到米 一是…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
