python元祖

字符串的创建

1.创建:单引号,双引号,三引号,(转译符:\',\",\n,\t)

2.特性:索引,切片:s[start:stop:step]start默认值为0stop默认为字符串长度

step歩长,每一部走多长

s[1:4:2] s[::-1]取反 s[:4]

连续操作:

重复操作:

成员操作符:in ,not in

#3.字符串是可迭代对象通过for实现循环

"""

"""

  练习题

1.用户输入字符串,打印该字符串的反转字符串

2.变量名是否合法判断程序;

  变量名命名规则:由字母,下划线或者数字组成但不能以数字开头

       s = "hello"

       请输入变量名:

       1).判断第一个字符是否由字母或者下划线组成:

       2).如果第一个字符和法,判断剩余字符是否由字母数字下划线组成

 """

while 1:

    s = raw_input("变量名:")

    if not (s[0].isalpha() or s[0] == "_"):

        print "不合法"

    else:

        for i in s[1:]:

            if not (i.isalnum() or i=="_"):

                print "不合法"

                break

        else:

            print "合法"

if和elif后边都要跟表达式,else不用

#4.字符串的常用方法

>> 1)判断字符串已什么开有的

>> 2)判断是否以什么开头以什么结尾

 s.startswith("http://")

 s.endswith(".png")

>> 3)去除字符串的左右的空格:(主要应用在有用户输入数据的地方)

 s.strip(),s.lstrip(),s.rstrip()

 重点:s.replace('l',"") 替换

>> 4)字符串对齐格式化:左对齐,右对齐,中间对齐

 s.center(40,"*")

 s.ljust(40,"*")

 s.rjust(40,"*")

>> 5)按照指定分隔符分离字符串:

 ip = "172.25.254.250"

 ip.split(".")

>> 6)连接指定的信息

 a = info.split()

 "+".join(a)

s.count('l')l出现的次数

s.index('l')找到字符的索引

s.find('l')找到字符的索引

#5.内置方法(BIF-build in founction)

cmp()比较大小

len()字符长度

min()

max()

枚举enumerate(s)

for index,value in enumerate(s):

print index,value

zip()

元祖(带了紧箍咒的列表)

#元祖的创建

>>通过赋值方法创建元祖

>>通过工厂方法创建元祖

 

#tuple

#可以把元祖看作一个容器,任何数据类型都可以放在这个容器里面:

t = (1,1.0,2j,ture,(1,2,3))

#定义单个元祖的时候,一定要在这个元素后面加逗号

t = (1,)

#工厂方法

t = tuple()

#元祖的操作

>>索引

正向索引0123print t[0]

反向索引-1-2-3print t[-1]

元祖嵌套

>>切片

print t [:2]

逆转元祖元素

print[::-1]

 

>>连接

print t + t1

 

>>重复

t*3

 

>>成员操作符

allow_ips = ('172.25.254.1','172.25.254.2','172.25.254.3')

if "172.25.254.1" in allow_ips:

print "有访问权限"

else:

print "无访问权限"

#元祖的循环

元祖目前接触的第三个可迭代对象

端口扫描器的雏形

ips = ('172.25.254.1','172.25.254.2','172.25.254.3')

ports = (80,8080,21,22)

for ip in ips:

    for port in ports:

        print "[+] Scaning %s:%d" %(ip,port)

In [28]: for ip in allow_ips:

   ....:     for port in ports:

   ....:         print "[+] Scaning %s:%d" %(ip,port)

   ....:         

[+] Scaning 172.25.254.1:80

[+] Scaning 172.25.254.1:8080

[+] Scaning 172.25.254.1:21

[+] Scaning 172.25.254.1:22

[+] Scaning 172.25.254.2:80

[+] Scaning 172.25.254.2:8080

[+] Scaning 172.25.254.2:21

[+] Scaning 172.25.254.2:22

[+] Scaning 172.25.254.3:80

[+] Scaning 172.25.254.3:8080

[+] Scaning 172.25.254.3:21

[+] Scaning 172.25.254.3:22

##元祖的常用方法

t.count()

t.index()可以指定在那个范围里找索引

#元祖的内置方法

cmp()

max((12,34,56,))

枚举 enumerate

for i,j in enumerate(ips)

    print i,j

自动贩卖

goods = (

    ("Apple",2),

    ("Ipad",4000),

    ("Iwatch",3500)

)

print "商品编号\t商品名称\t商品价格"

for index,value in enumerate(goods):

    print "%3d\t%s%.2f" %(index,value[0],value[1])

zip()

username = ("user1""user2""user3")

password = ("123""456""789")

zip(username,password)

 

1. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

   成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于

   40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

   100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?


python元祖python元祖

 

2. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

 python元祖python元祖

3. # (2017-小米-句子反转)

 

 

- 题目描述:

> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

 

- 输入描述:

> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)

 

- 输出描述:

> 对于每个测试示例,要求输出句子中单词反转后形成的句子

 

 

- 示例1:

 

```

- 输入

    hello xiao mi

- 输出

    mi xiao hello

 python元祖

 

 

4. # (2017-好未来-笔试编程题)--练习

 

- 题目描述:

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

 

- 输入描述:

每个测试输入包含2个字符串

 

- 输出描述:

输出删除后的字符串

 

- 示例1:

 

```

输入

    They are students.

    aeiou

输出

    Thy r stdnts.

```

 python元祖python元祖

 

5. # (2017-网易-笔试编程题)-字符串练习

 

小易喜欢的单词具有以下特性:

    1.单词每个字母都是大写字母

    2.单词没有连续相等的字母

列可能不连续。

例如:

    小易不喜欢"ABBA",因为这里有两个连续的'B'

    小易不喜欢"THETXH",因为这里包含子序列"THTH"

    小易喜欢"A","ABA"和"ABCBA"这些单词

    给你一个单词,你要回答小易是否会喜欢这个单词。

 

- 输入描述:

输入为一个字符串,都由大写字母组成,长度小于100

 

- 输出描述:

如果小易喜欢输出"Likes",不喜欢输出"Dislikes"

 

 

示例1 :

 

```

输入

    AAA

输出

    Dislikes

 

```