字符串,循环

#!/usr/bin/env python

#coding:utf-8

 

 

"""

考察点:

a). 死循环while语句;

b). 循环语句和if语句的嵌套;

c). break和continue的差异;

 

1. cmd  = 显示命令行提示符,等待用户输入;

2. 如果命令为空, 跳出本次循环,继续接收用户命令;

3. 如果命令为quit,跳出所有循环,结束程序;

4. 如果有命令,那么打印"run %s" %(cmd)  

"""

 

while True:

cmd = raw_input(">>>:").strip()

if not cmd:

continue

elif cmd == "quit":

break

else:

print "run %s" %(cmd)



"""

C语言中for循环的语法:

for(i=0;i<100,i++):

print i

 

python中for循环的语法:

for i in 可迭代的对象:

state1....

 

跳出for循环: break

跳出本次for循环: continue

 

 

第一个可迭代的对象: range(start,stop,step)

 

 

 

考察点:

for循环的嵌套

range使用

 

编写九九乘法表:

1*1=1

1*2=2  2*2=4

1*3=3  2*3=6  3*3=9

........

1*9=9 .........................  9*9=81

 

 

while 表达式:

state1....

else:

state2....

 

 

(死循环不需要else)

while True:

state1

else:

state2

 

 

for i in range(10):

state1

else:

state2

i= 1,2,3,4.....9

j = 1,i+1

 

 

 

"""

for i in range(1,10):  #i=1 i=2

#

for j in range(1,i+1): #j=1 j=1,2

print "%d*%d=%d " %(j, i, i*j), # 1*1=1 1*2=2 2*2=4

print

 



"""

字符串

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

2. 特性:

索引,

切片: s[start:stop:step]

 

 

   start默认值为0,stop默认值为字符串长度,step默认值为1,步长

s[1:4:2], s[::-1], s[:4], s[1:]

连接操作:

重复操作:

成员操作符: in, not in

 

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

4. 字符串常用方法:

1). 判断字符串由什么组成?    s.isdigit() ...........

2). 判断是否以什么开头,什么结尾?  

 s.startswith("http://")

 s.endswith(".png")

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

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

重点: s.replace方法也可以间接实现删除某个字符;

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

s.center(40, "*")

s.ljust(40,"*")

s.rjust(40,"*")

5). 按照指定分隔符分离字符串:(默认分隔符为空格)

ip = "172.25.254.250"

ip.split(".") # ['172', '25', '254', '250']

 

6). 指定分隔符连接信息

a = info.split()

"+".join(a) # 'westos+10+company'

5. 内置方法(BIF-built-in function)

cmp, len, max, min, 枚举enumerate, zip

 

 

 

 

 

 

 

练习题:

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

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

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

 

s = "hello"

请输入变量名:

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

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

 

 

 

 

 

 

 

 

"""

 

 

#1. 练习1

#s = raw_input("Str:")

#print s[::-1]

 

 

#2. 练习2

 

while True:

s = raw_input("输入变量名:")   #s[0] #s[1:]

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

print "不合法的变量名"

else:

for i in s[1:]: # s[1:]="ello"  #i=e,l,l,o

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

print "变量名不合法"

break

else:

print "变量名合法"

 




# ## 元组的创建

 

# - 通过赋值方式创建元组;

# - 通过工厂方法创建元组

 

# In[7]:

 

 

# tuple

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

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

print t

 

 

# In[11]:

 

 

t = (1)

print type(t)

 

# 定义单个元组,一定要在这个元素后面加逗号

t1 = (1,)

print type(t1)

 

 

# In[15]:

 

 

# 工厂方法

t = tuple()

print type(t)

 

 

# ## 元组的操作

#

# - 索引

# - 切片

# - 连接

# - 重复

# - 成员操作符

 

# In[23]:

 

 

t = ("fentiao", 5, "male")

 

# 正向索引

print t[0]

# 反向索引

print t[-1]

 

 

# 元组嵌套时元素的访问

t1 = ("fentiao", 5, "male", ("play1", "play2", "play3") )

print t1[3][1]

 

 

# In[20]:

 

 

# 切片

print t[:2]

 

# 逆转元组元素

print t[::-1]

 

 

# In[26]:

 

 

# 连接

print t + t1

 

 

# In[28]:

 

 

# 重复

t*3

 

 

# In[31]:

 

 

# 成员操作符

allow_ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')

 

if "172.25.254.1" in allow_ips:

        print "有访问权限"

else:

        print "无访问权限"

 

 

 

# ## 元组的循环

 

# In[32]:

 

 

# 字符串的循环:

# 可迭代对象

for i in "hello":

    print i

 

 

# In[34]:

 

 

# 元组目前接触的第三个可迭代对象;

allow_ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')

for ip in allow_ips:

    print ip

 

 

# ### Demo: 端口扫描器雏形

#

#

#

 

# In[36]:

 

 

ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')

ports = (80, 8080, 21, 22)

 

# 依次读取需要扫描的ip;

for ip in ips:

    # 依次读取要扫描的端口

    for port in ports:

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

 

 

# ## 元组可用的内置方法

 

# In[55]:

 

 

print cmp(('a', 1,2,3,4), (1, 2,))

 

print max((12,34,12,56))

 

 

print min((12,34,12,56))

 

 

# In[56]:

 

 

# 枚举

ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')

for i,j in enumerate(ips):

    print i,j

 

 

# In[63]:

 

 

# zip:

 

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

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

 

zip(username, password)

 

 

# ### 自动售货系统部分代码

 

# In[60]:

 

 

# 枚举的使用

 

goods = (

    ("Apple", 2),

    ("Ipad",  4000),

    ("iWatch", 3500)

)

 

 

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

for index, value in enumerate(goods):

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

    

 

 

 

# ## 元组的常用方法

 

# In[61]:

 

 

t = (2, 1, 1, 2)

print t.count(1)

print t.index(1)

 

 

s1=raw_input("first str:")   # They are students.

s2=raw_input("last str:")   # aeiou

 

# 依次遍历str1, str2;

# 分别对比里面元素是否相等;

# 如果相等, 将该字符替换为空,实现删除的目的;

 

 

 

for i in s1:        # T h e y

    for j in s2:    # a e i o u

        if i==j:

            s1=s1.replace(i,"")

print s1

 

 

 

 

 

 

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值