设为首页 收藏本站
查看: 1015|回复: 0

[经验分享] 冲刺豆瓣(15):python 经典练习题3

[复制链接]

尚未签到

发表于 2015-4-24 07:30:24 | 显示全部楼层 |阅读模式
1、要求输出国际象棋棋盘
  思路:声明一点,自己不会玩国际象棋,也不知道棋盘到底是什么样的,那么就先从棋盘研究开始。
DSC0000.jpg
  可以看出,黑白相见。如果要实现这种效果,可以从行数的奇偶进行循环判断输出。如果行数是偶数,那么输出白色,然后在这一行再循环判断,如果列数是偶数则输出黑色。
  但是黑白格是特殊的字符,在这里先用常用的字符替代。



#coding=utf-8
'''
Created on 2013-7-28
Function:
@author: BeginMan
To me:Believe yourself!
'''
white = u'口'     #代表白色格子
block = u'回'    #代表黑色格子
for obj in range(1,10):
if obj % 2 == 0:    #偶数行 输出白色
print white,
for i in range(1,10):   #循环遍历该行
if i % 2 == 0:      #偶数列 输出白色,否则输出黑色
print white,
else:
print block,
print ''
else:               #奇数行 输出黑色
print block,
for i in range(1,10):   #循环遍历该行
if i % 2 == 0:      #奇数列 输出黑色,否则输出白色
print block,
else:
print white,
print ''


  
  则输出如下:
DSC0001.png
2、打印楼梯,同时在楼梯上方打印两个笑脸
  这里同上,要用到ASCII码扩展表,扩展表如下:
DSC0002.jpg
  http://wenku.baidu.com/view/3a43dc85ec3a87c24028c44a.html
  程序如下:



import sys
sys.stdout.write(chr(1))
sys.stdout.write(chr(1))
print ''
for i in range(1,11):
for j in range(1,i):
sys.stdout.write(chr(219))
sys.stdout.write(chr(219))
print ''
DSC0003.jpg
  结果并没有很好的显示出来,这个不知道如何解决,百度了一下,下面解释如下:

你只能标准的Ascii码000~127序号的,其他的因为不是标准码必须输出前调整你的控制台窗口的默认代码页,把简体中文改成美国标准(这样,程序就不能同时输出中文了)。。。
3、古典问题:有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,如果兔子都不死,问每个月的兔子总数为多少?

  思路:分析每个月的兔子:
第一个月-----------------1
第二个月-----------------1
第三个月-----------------2
第四个月-----------------3
第五个月-----------------5
第六个月-----------------8
第七个月-----------------13
     ...                          ...


从中发现,从第三个月开始,前两个月兔子数之后为第三个兔子总数,所以定义一个存放24个月兔子书数组,每个元素存放一个月的兔子总数
  参考:http://blog.iyunv.com/duxinfeng2010/article/details/7770354



4、判断101-200之间有多少个素数,并输出所有素数。
  



h = 0
leap = 1
from math import sqrt
from sys import stdout
for m in range(101,201):
k = int(sqrt(m + 1))
for i in range(2,k + 1):
if m % i == 0:
leap = 0
break
if leap == 1:
print '%-4d' % m
h += 1
if h % 10 == 0:
print ''
leap = 1
print 'The total is %d' % h
  输出:



#101  103  107  109  113  127  131  137  139  149  
#151  157  163  167  173  179  181  191  193  197  
#199  The total is 21
   自己又研究了一种方法,觉得更加简单,如下:



"""求10内的素数(质数)"""
lis = []    #装非素数的容器
for obj in range(1,10):
if obj>2:
for x in range(2,obj):
if obj % x == 0:
lis.append(obj)
lis = list(set(lis))    #去重
sushu = [obj for obj in range(1,10) if obj not in lis]  #去包含
print sushu #[1, 2, 3, 5, 7]
  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60086-1-1.html 上篇帖子: python开发环境搭建(python3.3.2+wing IDE4.1) 下篇帖子: libsvm与python的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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