xylz,imxylz

          關注后端架構、中間件、分布式和并發編程

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            111 隨筆 :: 10 文章 :: 2680 評論 :: 0 Trackbacks

          6-2.

          String Identifiers. Modify the idcheck.py script in Example 6-1 such that it will determine the validity of identifiers of length 1 as well as be able to detect if an identifier is a keyword. For the latter part of the exercise, you may use the keyword module (specifically the keyword.kwlist list) to aid in your cause.

           1#!/usr/bin/env python
           2#-*- coding:utf-8 -*-
           3#$Id: p0602.py 131 2010-04-21 14:20:10Z xylz $
           4
           5'''
           6This is a 'python' study plan for xylz.
           7Copyright (C)2010 xylz (www.imxylz.info)
           8'''
           9
          10import string
          11import keyword
          12
          13'''
          14'''
          15
          16alphas = string.letters + '_'
          17nums = string.digits
          18alphas_nums = alphas+nums
          19kwlist = keyword.kwlist
          20
          21def isPythonId(s):
          22    if not s: return False
          23    if not len(s): return False
          24    if s[0] not in alphas: return False
          25    for c in s: 
          26        if c not in alphas_nums: return False
          27    if s in kwlist: return False
          28    return True
          29
          30if __name__ == '__main__':
          31    '''
          32    String Identifiers. Modify the idcheck.py script in Example 6-1 such that it will determine the validity of identifiers of length 1 as well as be able to detect if an identifier is a keyword. For the latter part of the exercise, you may use the keyword module (specifically the keyword.kwlist list) to aid in your cause.
          33    '''
          34    while True:
          35        myInput = raw_input("Identifier to test? ('exit' for over).\n>>>")
          36        if myInput == 'exit':break
          37        if isPythonId(myInput):
          38            print "'%s' is a valid id" % myInput
          39        else:
          40            print "'%s' is an invalid id" % myInput
          41
          42
          6-3. Sorting.
          Enter a list of numbers and sort the values in largest-to-smallest order.
          Do the same thing, but for strings and in reverse alphabetical (largest-to-smallest lexicographic) order.

           1#!/usr/bin/env python
           2#-*- coding:utf-8 -*-
           3#$Id: p0603.py 132 2010-04-25 10:22:05Z xylz $
           4
           5'''
           6This is a 'python' study plan for xylz.
           7Copyright (C)2010 xylz (www.imxylz.info)
           8'''
           9
          10
          11'''
          12'''
          13
          14
          15if __name__ == '__main__':
          16    '''
          17    '''
          18    nums=[]
          19    while True:
          20        myInput = raw_input("Enter an Integer ('exit' for over).\n>>>")
          21        if myInput == 'exit':break
          22        try:
          23            i=int(myInput)
          24            nums.append(i)
          25        except:
          26            print 'Error Number',
          27    
          28    templist=list(nums) 
          29    nums.sort()
          30    nums.reverse()
          31    print nums
          32    for i in range(0,len(templist),1):
          33        for j in range(i+1,len(templist),1):
          34            if str(templist[i])<str(templist[j]):
          35                templist[i],templist[j]=templist[j],templist[i]
          36    print templist
          37
          38
          6-6.

          Strings. Create the equivalent to string.strip(): Take a string and remove all leading and trailing whitespace. (Use of string.*strip() defeats the purpose of this exercise.)


           1#!/usr/bin/env python
           2#-*- coding:utf-8 -*-
           3#$Id: p0605.py 133 2010-04-25 11:16:34Z xylz $
           4
           5'''
           6This is a 'python' study plan for xylz.
           7Copyright (C)2010 xylz (www.imxylz.info)
           8'''
           9
          10def trim(s):
          11    '''
          12    Take a string and remove all leading and trailing whitespace.
          13    '''
          14    if s is None:return None
          15    if len(s)==0:return ''
          16    ret=[]
          17    for i in range(0,len(s),1):
          18        c=s[i]
          19        if c != ' ' and c != '\t' and c!= '\r' and c!='\n':
          20            s=s[i:]
          21            break
          22        if i==len(s)-1:return ''
          23    for j in range(len(s)-1,-1,-1):
          24        c=s[j]
          25        if c!=' ' and c!='\t' and c!='\r' and c!='\n':
          26            s=s[:j+1]
          27            break
          28        if j==0:return ''
          29    return s
          30
          31
          32if __name__ == '__main__':
          33    '''
          34    Create the equivalent to string.strip(): Take a string and remove all leading and trailing whitespace. (Use of string.*strip() defeats the purpose of this exercise.)
          35    '''
          36    for s in [" a book "," a book","a book",""," \r\n"]:
          37        ns=trim(s)
          38        print "'%s' => '%s', len=%d" % (s,ns,len(ns))
          39


          ©2009-2014 IMXYLZ |求賢若渴
          posted on 2010-04-21 22:25 imxylz 閱讀(16903) 評論(0)  編輯  收藏 所屬分類: Python

          ©2009-2014 IMXYLZ
          主站蜘蛛池模板: 洪泽县| 邵武市| 祁阳县| 色达县| 古丈县| 斗六市| 厦门市| 普宁市| 台山市| 西畴县| 墨脱县| 南木林县| 云梦县| 渝北区| 剑川县| 色达县| 翁源县| 乐业县| 平和县| 张家港市| 营山县| 深圳市| 穆棱市| 于田县| 新密市| 永和县| 内江市| 苏尼特右旗| 来凤县| 手游| 谢通门县| 赣榆县| 平原县| 邛崃市| 林口县| 黄山市| 孝昌县| 施甸县| 革吉县| 会宁县| 正镶白旗|