Python Assignment1 知识总结

1. Handling exceptions:

        try:
            x = int(raw_input("Please enter a number: "))
            break
        except ValueError:
            print "Oops!  That was no valid number.  Try again..."

python 2.7.8: https://docs.python.org/2/tutorial/errors.html


2. Python 列表(List):

一些操作和函数:http://www.w3cschool.cc/python/python-lists.html

(1) 列表中的sort函数:

http://gaopenghigh.iteye.com/blog/1483864

http://blog.csdn.net/kevin_darkelf/article/details/8945621


(2) strip,lstrip,rstrip函数剥去字符串中的某些字符


3. Python 字典(Dictionary):

(1) 通过value找key

字典中key的值是唯一的,value的值可以不唯一。可以用如下方法:

<span style="font-size:14px;">dict = {}
dict_key = dict.keys() # return a list
dict_value = dict.values()# return a list</span>
<span style="font-size:14px;">dict_key[dict_value.index(value)]</span>
 
(2) 判断一个value在不在字典中: 

可以把字典中每个key对应的value搜出来存到一个list中(用append累加),最后再看value在不在这个list中

有关字符串、元组、列表、字典: http://pmghong.blog.51cto.com/3221425/1335006

(3) 判断key在不在字典中,某一个元素在不在列表中:

用not in 或者 in

(4) 判断一个列表或者字典是否为空:

dict = {}

list1 = []

if dict:

    print “不为空”

if not list1:

   print "为空"


4. Python 中的copy,deepcopy:

http://my.oschina.net/taisha/blog/54741

如何你只是单纯的A = B,让A等于B,则你对A修改的时候,B也会被改变,但用copy和deepcopy就不会。


5. Print error message into stderr:

http://stackoverflow.com/questions/5574702/how-to-print-to-stderr-in-python


6. Map函数,可将字符串转成数字


关于这个问题的思路(写给自己):如果当发现有两条线段相交的时候就记录点和边的话不实际,点的记录肯定没有问题,交点和相交的两条线段的四个端点记录下来,但是边的话如果记录下交点到每个端点的边(共四条)的话,当再有线段与这四条任何一条相交的时候,就不好整了,需要新的添加操作和删除操作等等。所以可以在一开始的时候将每条街的每条线段存到一个dictionary里,key是街名,value是线段的list。每次有线段相交,就往相应的list中加点(但要考虑加的这个点是否已存在等问题,也就是交点是否是线段的端点)。这样等最后加完,结果确定了再找出边,就轻松许多了。

感想:用户可能不按你预想的格式输入,他可能忽略了个空格,或没注意多打了个空格,等等,要想尽可能多的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值