Eulerprobelm-11 for python

def ext12():

"""

在以下这个20x20的网络中,四个处于同一对角线上的相邻数字用红色标了出来

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08

49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00

81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65

52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91

22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80

24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50

32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70

67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21

24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72

21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95

78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92

16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57

86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58

19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40

04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66

88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69

04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36

20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16

20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54

01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

自然数行(9,7)(10,8)(11,9)(12,10)

"""

grid = ‘‘‘08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08

49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00

81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65

52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91

22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80

24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50

32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70

67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21

24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72

21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95

78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92

16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57

86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58

19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40

04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66

88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69

04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36

20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16

20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54

01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

‘‘‘

product = []

import re

alist = [re.spllit(‘ ‘, el) for el in re.split(‘\n‘, grid)]

#   将alist内部的数据转变格式int

for j, ls in enumerate(alist):

for i, v in enumerate(ls):

alist[j][i] = int(v)

#   将所有的横向4乘放入product中

for el in alist:

for i in range(len(el) - 3):

product.append(el[i] * el[i + 1] * el[i + 2] * el[i + 3])

for j in alist:

for k in range(len(j) - 3):

product.append(alist[k][j] * alist[k + 1][j] * alist[k + 2][j] * alist[k + 3][j])

for j in range(len(alist) - 3):

for k in range(len(alist) - 3):

product.append(int(alist[k][j]) * int(alist[k+1][j+1]) * int(alist[k+2][j+2]) * int(alist[k+3][j+3]))

product.append(int(alist[k+3][j]) * int(alist[k+2][j+1]) * int(alist[k+1][j+2]) * int(alist[k][j+3]))

print sum(product)

Eulerprobelm-11 for python

时间: 2024-10-17 05:15:24

Eulerprobelm-11 for python的相关文章

辛星亲自编写的11本Python资料,免积分下载,希望对大家有所帮助

这是自己花了半年左右的时间整理的一套Python的资料把,我都统一整理成pdf文档的格式,希望对大家有所帮助,如果没有帮助,都是免积分下载的奥.这里是我的Python专栏:点我去Python下载专栏 ,如果左边的地址崩溃了,那么可以在浏览器中输入http://download.csdn.net/album/detail/459 然后打开即可. 下面说一下这一套书都包含什么内容把,第一本是Python的入门教程,当时写的,现在看起来并不是那么好,我抽空写第二版把,第二本就是Python标准库的教程

macOS Sierra(10.12.6), odoo(11.0), Python(3.5.4)配置

欣闻odoo11支持python3环境了,赶紧在mac平台尝试一下: 前期设置,参考另篇文章:macOS Sierra 10.12.6 odoo 10.0 开发环境配置 因为odoo11尚未正式发布,11版本号源码分支还没有建立,我们从master分支获取最新11源码,为了加快速度,仅获取最新源码,以后可以删除odoo11目录,重复本操作更新至最新源码: cd ~/odoo-dev/odoo git clone https://github.com/odoo/odoo.git --depth 1

你可能没听过的11个Python库

目前,网上已有成千上万个Python包,但几乎没有人能够全部知道它们.单单PyPi上就有超过47000个包列表.现在,越来越多的数据科学家 开始使用Python,虽然他们从pandas,scikit-learn,numpy中获得了不少好处,但我仍想向他们介绍一些年长且非常实用的 Python库.在本文中,我将列一些不太知名的库,即使你是经验丰富的Python的开发者,也值得过来一看. 1.delorean Dolorean是一个非常酷的日期/时间库.类似JavaScript的moment,拥有非

1-1 用Python抓取豆瓣及IMDB上的电影信息

下面的代码可以抓取豆瓣及IMDB上的电影信息,由于每段代码使用的数据源自上一段代码输出的数据,所以需要按顺序执行. step1_getDoubanMovies.py 1 # -*- coding: utf-8 -*- 2 ''' 3 该脚本得到豆瓣上所有电影的如下信息: 4 "rate": "7.5", 5 "cover_x": 2000, 6 "is_beetle_subject": false, 7 "title

一个 11 行 Python 代码实现的神经网络

概要:直接上代码是最有效的学习方式.这篇教程通过由一段简短的 python 代码实现的非常简单的实例来讲解 BP 反向传播算法. 代码如下: Python 1 2 3 4 5 6 7 8 9 10 11 X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ]) y = np.array([[0,1,1,0]]).T syn0 = 2*np.random.random((3,4)) - 1 syn1 = 2*np.random.random((4,1))

【11】Python函数学习(一)

本文主要介绍python函数,也就是函数式编程的用法. 何为函数: 函数是组织好的,可重复使用的,用来实现单一,或相关功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道python提供许多内建函数,比如print().但你也可以自己创建函数,这被叫做用户自定义函数. 规范: 面向对象  >>>>>> 类  >>>>>>class 面向过程  >>>>>> 过程 >>&

11、Python标准模块

一.time模块 在python中,时间的表示有三种方式:时间戳表示,元组的表示和格式化表示,先来看一下这三种时间表示方法在python中的语法. 1.时间戳表示法: import time print(time.time()) #时间戳表示 执行结果1517984732.4657302 要想获得系统的时间戳直接调用time模块的time函数就好了,那么这一坨1517984732.4657302是个什么玩意呢?不要方,我们来换算一下,我们将这个值换算成年也就是:1517984732.465730

6月11日 python学习总结 框架理论

Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"

11道Python经典面试题|深入解答

1.单引号,双引号,三引号的区别 分别阐述3种引号用的场景和区别 1),单引号和双引号主要用来表示字符串 比如: 单引号:'python' 双引号:"python" 2).三引号 三单引号:'''python ''',也可以表示字符串一般用来输入多行文本,或者用于大段的注释 三双引号:"""python""",一般用在类里面,用来注释类,这样省的写文档,直接用类的对象__doc__访问获得文档 区别: 若你的字符串里面本身包含

听说你会Python?11篇Python技术热文

<听说你会 Python ?> Python 是世界上最简单的语言?Python 的动态特性可以让其用众多 black magic 去实现一些很舒服的功能,当然这也对我们对语言特性及坑的掌握也变得更严格了.本文总结了Python中的各种难掌握和易踩的"坑". <Python 函数式编程,从入门到?放弃?> 本文使用python介绍了什么是函数式编程,函数式编程的特点,函数式编程的用途,函数式编程相比于命令式编程和面向对象编程的优缺点等. <如何获得 Num