码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记

时间:2015-04-09 23:36:30      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

仅写给弱渣渣的自己……

首先把python的环境搞一搞……,我觉得在win下pydev挺好使的。

Eclipse配置PyDev插件:http://blog.csdn.net/sunshine3257/article/details/7408102

python的指南网上有好多,随便找个翻翻即可入门。

Python 入门指南:http://www.pythondoc.com/pythontutorial3/index.html

c和java有神马,就想让python有神马,于是我第一个python程序就写了一个标准I/O重定向:

技术分享
1 read = open(stdin.in, r)
2 sys.stdin = read
3 a, b = map(int,raw_input().split())
4 print(a + b)
View Code

 慢慢的看如《Python Essential Reference》这样的教材,并不适合饥不择食的我,so,直接去网站上CHA代码来看了。

找了个算法题练习了下基本的逻辑结构和数据存储,于是有了下面我的第二个python程序:

技术分享
 1 n  = int(input())
 2 a = input()
 3 b = input()
 4 cnt = 0
 5 index1 = -1
 6 index2 = -1
 7 mp = {}
 8 flag1 = True
 9 flag2 = True
10 l = [chr(ord(a)+  i) for i in range(26)]
11 for i in range(n) :
12     if a[i] != b[i] :
13         cnt += 1
14         mp[a[i], b[i]] = i
15 for i in l :
16     if flag1 :
17         for j in l :
18             if flag1 :
19                 if (i, j) in mp :
20                     if(j, i) in mp :
21                         index1 = mp[i, j] + 1
22                         index2 = mp[j, i] + 1 
23                         flag1 = False
24                     else :
25                         for k in l :
26                             if(j, k) in mp :
27                                 index1 = mp[i, j] + 1
28                                 index2 = mp[j, k] + 1
29                                 flag2 = False
30                             elif(k, i) in mp :
31                                 index1 = mp[i, j] + 1
32                                 index2 = mp[k, i] + 1
33                                 flag2 = False
34                                 
35 print(cnt -(2 if flag1 == False else 1 if flag2 == False else 0))
36 print(index1, index2)
View Code

总结下python一些我觉得“不可思议”的地方:

for语句就是迭代一个序列的,并无其他用法……

python的字典很方便,很像c和java里的map,不过依然沿袭了python任性的特点,key和value都可以是任意类型的,不过key还是unique的,也就是不能有同类型同值的key,否则会被后来赋值的覆盖。

列表和元组都有解析构造的形式,不熟悉这种语法的很容易被唬住,所以这部分还是查查reference,把原理搞明白。

if else 这类的语句除了常规写法外还有表达式这样的写法,如 a = 1 if b > c else 0 ,好有趣……

其他的都比较容易接受。

目前就发现这些,未完待续……

Python学习笔记

标签:

原文地址:http://www.cnblogs.com/mcflurry/p/4410201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!