一位朋友在玩闯关游戏时遇到如下问题:

感觉考查的就是字符串操作,用string模块就可完成;代码如下:

# -*- coding: utf-8 -*-

__author__ = 'Evilxr'

import string

_string =("Vm0wd2QyUXlVWGxWV30d4WFlURn164dVRlpzWkc5V"
"1JteDBaVVYwV0ZKdGVGWlZiVFZyVmxVeFY3yTkljRmhoTVhCU"
"VZtcEdZV015U2tWVWJHaG9UVlZ3VlZadGNFZFRNbEpJVm10V1"
"VtSk3lRazlVVkVKTFUFAceB00BxWmtWMXBFVWxwV01ERTBWMn"
"RvUjFWdF55NsWlhiR2hYWVd0d2RscFdXbUZrUjA1R1drWndWM"
"DFFUlRGV1ZFb3dWakZhV0ZOcmFHaFNlbXhXVm0weGIxSkdXbG"
"RYYlVaclVqRmFTRll5TVRSVk1rcElaSHBDVjAxdVVuWldha3B"
"IWXpGT2RWVnNXbWxoTUhCWl4A4YxWlNSMlF52UmtkWGEyUllZ"
"bGhT5V0ZSV1pGTk5SbFowWlVaT1ZXSkdjREZWVjNoelZqRmFO"
"bEZZYUZaaGExcG9WakJhVDJOdFJrZFhiV3hUVFcxb2IxWnRjR"
"U5pTVVWNFdrVmtXRmRIVWxsWmJHaFRZMVpTVjJGRlRsTmlSbk"
"JaV2xWYVQxWlhTa2RqUm1oYVRVWktXRll3V21GU2JFNTBZVVp"
"44rYUdFeGNHOVdha0poVXpGa1dGSnJaR2hTTW1oUFZGY3hiMW"
"RzV1hoWGJFNVRUVlp3TUZadGRHdFdNa3B6VTIxR1ZWWjZWblp"
"XUkVaVFZteGtjbHBIY0U1V2EzQlhWbFprTkZNeFRYaFhhMXBQ"
"VmxacmJFMHdVU1V6UkElM0QlM0Q")
mark = 0
while mark < len(_string) - 8:
# 构造字符串
result = _string[mark: mark + 8]
try:
# 长度为8
assert len(result) == 8
except:
print u'字符串长度不为8'
break
try:
# 它的前两位是大写英文
assert result[0] in string.ascii_uppercase
assert result[1] in string.ascii_uppercase
# 它的3、4位是小写英文
assert result[2] in string.ascii_lowercase
assert result[3] in string.ascii_lowercase
# 它的第5位和第8位是同一个字符
assert result[4] == result[7]
# 它的第6、7位是数字
assert result[5] in string.digits
assert result[6] in string.digits print 'success', result
break
except:
mark = mark +1

  

运行结果:

success FAceB00B

Python 定位字符串的更多相关文章

  1. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  2. python学习--字符串

    python的字符串类型为str 定义字符串可以用 ‘abc' , "abc", '''abc''' 查看str的帮助 在python提示符里 help(str) python基于 ...

  3. Python格式化字符串和转义字符

    地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义     符   号     说     明 ...

  4. [转载] python 计算字符串长度

    本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...

  5. Python基础-字符串格式化_百分号方式_format方式

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  6. python判断字符串

    python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...

  7. Python格式化字符串

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  8. python(七)字符串格式化、生成器与迭代器

    字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) ...

  9. Python 的字符串格式化和颜色控制

    (部分内容源自武神博客和网络收集.) Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两 ...

随机推荐

  1. android editText 监听事件

    在软键盘中注意 在监听的 edittext中 使用android:imeOptions属性的时候,一定要对EditText设置 android:inputType 或者 设置 android:sing ...

  2. [转] 从 C 到 Objective C 入门1

    转自: http://blog.liuhongwei.cn/iphone/objective-c/ 进军iPhone开发,最大的难点之一就是怪异的Objective C语法了.不过,了解之后才发现,原 ...

  3. c++ 中的sort用法

    别人写的,我拿来做做笔记 sort函数的用法 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错.ST ...

  4. 如何查看前端部署的tracker代码

    1.www.gov.cn 2.F12>Source>左侧选择static.gridsumdissector.com/js 3.点击代码下方区域的中括号,展开代码preety print{}

  5. Sort Characters By Frequency

    Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...

  6. android.os.NetworkOnMainThreadException异常

    在android4.0以前,访问网络的代码可以写在UI主线程,但是在android4.0以上就不能在ui主线程中访问网络了,会出现android.os.NetworkOnMainThreadExcep ...

  7. USBD_STATUS

    USBD_STATUS   该USBD_STATUS数据类型为USB请求定义USB状态值.     的typedef LONG USBD_STATUS; USB状态值的最显著4位被如下表中所定义. 值 ...

  8. WKWebView

    按错了...,原帖地址http://blog.csdn.net/cyforce/article/details/37657009 webkit使用WKWebView来代替IOS的UIWebView和O ...

  9. CreateFile函数详解

    CreateFile函数详解 CreateFile The CreateFile function creates or opens the following objects and returns ...

  10. Ubuntu 手工挂载硬盘

    首先我们得到到/dev/sda3这个分区的UUID,使用以下命令: sudo blkid /dev/sda3 结果如下: 然后,我们按照/etc/fstab文件中的格式添加一行如下内容: UUID=9 ...