w88优德 - 【每周一坑】美队盾牌

${website.getHeaderOriginal(${article.taxonomyName})}

大家好··|,最近更新频率又慢了··|,【每周一坑】快变成【每两周一坑】了……不过别急··|,我们正在酝酿一些好玩又实用的内容和活动··|,很快会陆续奉上··|--。

刚刚加入不久朋友··|,如果是初学编程··|,跟着我们公众号菜单里的入门教程学习即可··|--。更多学习建议可以参考之前发的两篇文章:



顺便说下··|,因为现在我们的公共交流群人数比较多··|,没法保证所有的问题都能看到且回答··|,提个问题能不能正好有人帮你解决还得看运气··|--。因此正在开发群助教AI机器人的问答功能··|,之后可以缓解这个问题··|--。

不过··|,还是建议先学会用搜索和查文档··|,自己掌握解决问题的能力才是坠好的··|--。如果代码中实在有问题搞不定··|,请通过以下方式提问:

  1. 发布到我们的论坛 bbs.crossincode.com 上··|,说清问题··|,附上你的代码、输出、开发环境、报错等必要信息和截屏··|--。不是实时响应··|,但看到后都会回复··|,最长不超过一天··|--。

  2. 发微博 @Crossin··|,同样附上上述说的必要信息和截屏··|,收到后我会给你回复··|--。

尽量一次性准确描述你的问题及提供完整的信息··|,有助于你的问题更好得到解决··|--。(无须先问“你好”“在吗”“能不能请教你一个问题”)

其他途径由于信息流过多或展现形式的限制··|,不太方便做代码相关的问答··|--。

当然··|,如果你想获得长期的、及时的、有效的、有问必答的答疑支持··|,请加入码上行动··|--。



之前老是让大家做数学题··|,这次我们轻松一点··|,来个有趣的:

用 Python 画美国队长的盾牌

用自带的 turtle 模块即可实现··|,算是入门级的难度··|--。用法可参考:

如果你觉得不过瘾··|,可以挑战更高难度:

或者大师级的:


期待各位同学提交解答··|--。

提交代码可以使用 paste.ubuntu.com 或 codeshare.io 等代码分享网站··|,只需将代码复制上去保存··|,即可获得一个分享地址··|,非常方便··|--。

往期问题可通过公众号菜单栏“课外辅导”栏目中进入查看··|--。



【解答】罗马数字转换

技术上来说没有很高的难度··|,但写在代码里还是要小心点处理··|--。

罗马转阿拉伯的时候··|,建议从右向左判断··|,这样会简单一些··|--。

阿拉伯转罗马··|,要用到整除··|--。在 py2 里··|,两整数相除得到的结果就是整除结果··|,而 py3 则必须使用 // 运算符··|--。

示例代码:

# 罗马数字转整数
def romanToInt(s):

    d = {'M':1000, 'D':500, 'C':100, 'L':50, 'X':10, 'V':5, 'I':1}
    res, p = 0, 'I'
    # 逆序逐一遍历
    # 使用逆序的好处在于··|,每次只需对一位罗马数字进行加或减的操作
    # 使用顺序的话··|,可能为两位
    for c in s[::-1]:
        if d[c] < d[p]:
            res = res - d[c]
        else:
            res = res + d[c]
        p = c

    return res

# 整数转罗马数字
def intToRoman(self, num):
    values = [ 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 ]
    numerals = [ "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" ]

    # 迭代依次处理每位数字
    res, i = "", 0
    while num:
        res += (num//values[i]) * numerals[i]
        num %= values[i]
        i += 1
    return res

给出两份同学的答案:

@郑文杰 Willie 代码最简洁:

http://paste.ubuntu.com/25047059/

@wuxiaojiao 简单并易于理解:

http://paste.ubuntu.com/25046101/




『码上行动』在线学习班正在开放中··|,详情请回复 码上行动 查看

近期文章推荐阅读:











欢迎加入

Crossin的编程教室

crossincode.com

读者交流QQ群:660296565

微信请加 crossin123 按提示入群


  请把我们分享给身边爱学习的小伙伴 :)  


点击左下角“阅读原文”··|,查看更多学习资源

${website.getFooterOriginal(${article.taxonomyName})}

发布者 :w88优德_优德娱乐场w88_w88优德官方网站 - 分类 优德娱乐场w88

(必填)