迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中将整数转换为罗马数字

作者:迹忆客 最近更新:2023/04/26 浏览次数:

罗马数字使用以下七个符号书写。

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 += r
                num -= i
    return 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 zero
        if quotient != 0:
            for j in range(quotient):
                print(roman_map[i], end="")

        # update input number with a remainder
        num = num%i

输出:

Enter a number: 42
XLII

在这种方法中,我们将输入整数按降序除以 13 个基本整数。 roman_map 是一个包含 13 个整数的字典,它们的罗马数字等价于键值对。

num 存储用户输入的整数。 顺序列表按降序存储 13 个整数。

输入数字除以顺序列表中的所有数字,直到商不为零。

如果商不为零且有余数,则在 num 中更新。 循环继续运行,我们得到了等价的罗马数字。

现在你应该知道如何在 Python 中将整数转换为罗马数字。 我们希望您觉得本文对您有所帮助。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便