鱼C论坛

 找回密码
 立即注册
查看: 1916|回复: 2

[已解决]python新课43课后作业

[复制链接]
发表于 2022-7-11 22:25:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这里面的v = rc 【ch】
是什么意思
rc哪里出来的
tks
最佳答案
2022-7-12 09:35:18
  1. R2N = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000 }

  2. def roman2num(s):
  3.         r = 0
  4.         n = len(s)
  5.         for i, ch in enumerate(s):
  6.                 v = R2N[ch] # <---------- 注意这里
  7.                 if i < n - 1 and v < R2N[s[i + 1]]:
  8.                         r -= v
  9.                 else:
  10.                         r += v
  11.         return r

  12. s = input("请输入一个罗马字符:")
  13. v = roman2num(s)
  14. print(f"转换后的结果是:{v}")
复制代码
屏幕截图 2022-07-11 222437.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-12 07:59:31 From FishC Mobile | 显示全部楼层
代码不全吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-12 09:35:18 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
  1. R2N = { 'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000 }

  2. def roman2num(s):
  3.         r = 0
  4.         n = len(s)
  5.         for i, ch in enumerate(s):
  6.                 v = R2N[ch] # <---------- 注意这里
  7.                 if i < n - 1 and v < R2N[s[i + 1]]:
  8.                         r -= v
  9.                 else:
  10.                         r += v
  11.         return r

  12. s = input("请输入一个罗马字符:")
  13. v = roman2num(s)
  14. print(f"转换后的结果是:{v}")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 14:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表