转自:http://www.cnblogs.com/chagel/archive/2009/02/01/1381820.html

本文给出两道趣味题的Python解法

题目1:要求算一任意长度字符串中不同的字符以及它的个数。

题目2:把一段字符串用“右起竖排”的古文格式输出。

题目难度不大,都是针对字符串的操作,逻辑比较简单,灵活在对不同语言、语法的掌握程度。

看了大家用C++、C#、Java等语言的实现,总感觉牛刀杀鸡太麻烦,有兴趣的朋友可以自己写写看或者直接看原文的网友回复。我最近一段时间Python写的比较多,读到这些题目时候,就有一种跃跃欲试的冲动。因为我知道用Perl,Python,Ruby等动态语言来做这类题目,会是非常理想的。后来我做了这两道题目,结果也令人满意,代码之简洁保持在所有答案的前列。

先看第一题Python解答:

dic = {}

for s in "abcdefgabc":

dic[s] = 1 if s not in dic else (dic[s]+1)

print '\n'.join('%s,%s' % (k, v) for k, v in dic.items())

输出结果:

a,2

c,2

b,2

e,1

d,1

g,1

f,1

Python的四行代码分别做了dictionary的声明,赋值,字符串的遍历,以及高效拼接。

如果还没有看出它的简洁和强大的话,请看第二题的解法:

def main(offset=6):

string = u'

a = [[' ']*offset for row in xrange(offset)]

for i in xrange(offset):

for j in xrange(offset):

a[i][j] = string[j + i*offset]

b = [[r[col] for r in a[::-1]] for col in xrange(len(a[0]))]

print '\n'.join([u'┊'.join(unicode(c) for c in row)for row in b])静夜思 李白床前明月光,疑似地上霜。举头望明月,低头思故乡。090131'

输出结果:

0┊低┊举┊疑┊床┊静

9┊头┊头┊似┊前┊夜

0┊思┊望┊地┊明┊思

1┊故┊明┊上┊月┊

3┊乡┊月┊霜┊光┊李

1┊。┊,┊。┊,┊白

这题如果用C#等实现,代码要在20行以上。下面我简单介绍一下这几行代码:

第3行,在Python里面二维“数组”通过嵌套list来实现,这里初始化一个6行6列的二维数组;

第7行,我们把“矩阵”顺时针旋转了90度(行列置换,并且对置换后的行首尾对调-这里的::-1就是用来置换一个list的trick);

最后一行,我们把数组里的每行中元素,每行之间分别用两个不同字符拼接起来。join方法以及for..in..语句在python中是相当常见的用法。

通过这两题,我们看到Python在处理字符串时候的十分灵活方便,虽然一种语言的好坏不应完全靠是否简洁来衡量,但对于我个人而言,Python是目前我用过的最好的语言。而且对于趣味题来说,这不就是我们解题的趣味所在吗?

python趣味题_从CSDN的趣味题学PYTHON相关推荐

  1. python科目真题_不止金融行业, 全民都在学Python

    在大家的印象里,想进入金融行业或者数据岗位,首先需要精通Excel. 然而野村证券副首席数字官马修·汉普森在上周五的伦敦Quant Conference上发表讲话: "现在走进交易大厅,用E ...

  2. python人工智能_人工智能人才缺口千万!学Python抓住风口机会

    前不久教育界的一个消息,引发了广泛的关注. 今年9月,浙江三到九年级信息技术课将替换新教材,八年级将新增Python课程内容.新高一信息技术编程语言由VB替换为Python,大数据.人工智能.程序设计 ...

  3. 6. Python 元组,不可变的列表,滚雪球学 Python

    希望看到文章的 Python 学习爱好者可以坚持打卡,在评论区坚持跟橡皮擦卡学习的朋友,在 100 天之后,橡皮擦将送出神秘大奖. 已完成的文章 标题 链接 1. 这才是 Python 学习的正确起手 ...

  4. 零基础可以学python吗-Python编程语言好学吗?零基础转行能学Python吗?

    Python编程语言好学吗?零基础转行能学Python吗?人工智能时代的来临催生了很多新兴行业,Python是最具代表性也是比较热门的技术之一.有人看好Python入门简单.功能强大的特性,选择转行从 ...

  5. Python能做什么事?为什么人工智能一定要学Python?

    随手打开一个招聘网站,你会发现排名靠前的互联网企业都在招聘Python人才.如饿了么.小米.360.腾讯.美团和知乎等.并且,Python的从业薪资还是非常高的,月薪10k-15k都是正常范围,部分月 ...

  6. 入门Python难不难?零基础到底要怎么学Python?

    近几年的Python编程发展得非常好,又因为人工智能的发展而发展.入门Python难不难?零基础到底要怎么学Python?本文,小分享入门Python需要掌握的知识. 1.数据库:Python在数据库 ...

  7. python零基础能学吗-Python编程语言好学吗?零基础转行能学Python吗?

    Python编程语言好学吗?零基础转行能学Python吗?人工智能时代的来临催生了很多新兴行业,Python是最具代表性也是比较热门的技术之一.有人看好Python入门简单.功能强大的特性,选择转行从 ...

  8. Python编程语言好学吗? 零基础转行能学Python吗?

    Python编程语言好学吗?零基础转行能学Python吗?人工智能时代的来临催生了很多新兴行业,Python是最具代表性也是比较热门的技术之一.有人看好Python入门简单.功能强大的特性,选择转行从 ...

  9. python难度大的题_早看少被坑!Python 最难的问题

    超过十年以上,没有比解释器全局锁(GIL)让Python新手和专家更有挫折感或者更有好奇心. 未解决的问题 随处都是问题.难度大.耗时多肯定是其中一个问题.仅仅是尝试解决这个问题就会让人惊讶.之前是整 ...

最新文章

  1. 解决BitLocker反复提示恢复密钥正确而无法进入系统的问题
  2. 公众平台服务号、订阅号、企业号的相关说明
  3. crf linux使用教程,Linux下CRF++的使用
  4. 「应用管理与交付」为什么会成为云原生新的价值聚焦点?
  5. 统计rgb与yuv文件中各分量的熵
  6. 谷粒商城---新增收货地址,设置默认地址实现
  7. 我的世界暮色森林java下载_我的世界暮色森林mod1.7.2下载-暮色森林整合包下载...
  8. 聊一聊Go中channel的行为
  9. AES加密例子(python和php版本)
  10. 计算机视觉空间域(spatial)注意力机制——CBAM
  11. 矩池云如何使用 Tmux 工具在后台运行任务
  12. php mysql memcache_php的memcache和memcached扩展区别
  13. 让盘古分词支持最新的Lucene.Net 3.0.3
  14. Express の 文件下载
  15. python 软件包 petri_常用Petri网模拟软件工具简介
  16. python实现isprime_isPrime函数(列表+%运算符)
  17. 一、SQL语句执行过程
  18. 教你如何做出一份报表:流程分析之报表模板
  19. 创蓝253短信验证码接口接入常见问题
  20. 如何在文字识别软件ABBYY中创建区域模板,处理大量相同内容?

热门文章

  1. AUTOSAR架构学习之EcuM
  2. 以太坊源码深入分析(10)-- 以太坊Bloom过滤器实现原理及应用场景分析
  3. Autodesk 两场云以及移动为主题的Meetup线下交流会
  4. 解决Aucc2021在win10/11系统上安装失败问题Audition 2021中文完整版_永久使用安装教程
  5. 利用XGBoost、Information Value、SHAP寻找“小北极星“指标与分层处理
  6. 008 -菲波那切数列
  7. ThreeJS程序员兼职副业平台推荐
  8. 华为S9306 如何进行访问控制配置
  9. VMware17虚拟机:下载和安装教程
  10. centos7 安装 swoole