Python(三)

来源:互联网 发布:enako 知乎 编辑:程序博客网 时间:2024/06/05 19:58

一、无限循环

实现无限循环两种方法:

while True:

       .....

while 1:

      ....

break和comtinue:

break:跳出所有循环

continue:跳出此次循环,回到循环的开始继续执行

题目1:

生成一个随机数,让玩家猜一个数,如果跟这个数一致输出“恭喜中奖”,否则“谢谢惠顾”

解答:

#!/usr/bin/env python
# coding:utf-8
import random
guess=random.randint(1,100)   #生成一个1-100之间的整数(包括1和100)
while True:
    num=input("输入一个数:")
    if num == guess:
        print "恭喜中奖!"
        exit()
    else:
        print "谢谢惠顾"

二、特殊语句

python中特有的while...else...语句:

               如果满足while后面的语句,执行while循环的程序,如果不满足,执行else里面的程序

题目2:

1.系统中用户名密码为admin和redhat

2.用户登陆时,为防止暴力破解,仅有三次机会

3.如果登陆成功,显示登陆成功

解答:

#!/usr/bin/env python
# coding:utf-8
n=0
while n < 3:
    name=raw_input("输入用户名:")
    passwd=raw_input("输入密码:")
    if name == "admin" and passwd == "redhat":
        print "登陆成功"
        break
    else:
        print "输入正确的用户名或密码"
    n+=1
else:
    print "输入超过3次,请稍后再试"

三、转义


四、索引


In [12]: a='hello word'

In [13]: a[0]
Out[13]: 'h'

In [14]: a[1]
Out[14]: 'e'

In [15]: a[5]
Out[15]: ' '

In [16]: a[-1]
Out[16]: 'd'
五、重复、连接、计算长度

In [51]: "#"*10                  #重复打印#10次
Out[51]: '##########'

In [52]: 'hello' + 'word'
Out[52]: 'helloword'

In [53]: a='hello word'

In [54]: len(a)
Out[54]: 10
六、切片

切片[i:j]提取对应的部分作为一个序列

[:]获取从偏移量为0到末尾之间的元素
拷贝的一种方法

In [58]: a='abcdefg'

In [59]: a[0:5]             #显示第1到第5个元素,边界并不包含在内
Out[59]: 'abcde'

In [60]: a[0:5:2]         #显示第1到第5个元素,递增步长为2
Out[60]: 'ace'


In [62]: a[:]                #显示所有元素
Out[62]: 'abcdefg'

In [63]: a[1:]
Out[63]: 'bcdefg'

In [65]: a[::-1]          #倒序显示所有元素
Out[65]: 'gfedcba'

七、判断字串(成员操作符)
In [66]: a='hello'

In [67]: 'opt' in a
Out[67]: False

In [68]: 'o' in a
Out[68]: True

八、字符串常用操作

In [64]: s="h e llo"

In [65]: s.replace(" ","")
Out[65]: 'hello'

In [66]: a="admin redhat centos"

In [67]: a.split()
Out[67]: ['admin', 'redhat', 'centos']



如在脚本中a=raw_input("choice:")表示让用户输入一个值,但是用户有可能在输入的时候多打了几个空格,加上.strip()就可以自动忽略空格

In [60]: a=raw_input("choice:")
choice:  1

In [61]: '1' == a
Out[61]: False

In [62]: a=raw_input("choice:").strip()
choice:  1

In [63]: '1' == a
Out[63]: True




题目1:

用户输入一个变量名,判断是否合法

解答:

方法一:运用字符常用操作的知识

#!/usr/bin/env python
# coding:utf-8
"""
变量名的命名规则:由数字、字母、_组成并且不能以数字开头
"""
while True:
    name=raw_input("输入一个变量名:")
    if name[0].isdigit():
        print "变量名不合法(error 1)"
    else:
        for i in name[1:]:
            if not(i.isalnum() or i == "_"):
                print "变量名不合法(error 2)"
                break
        else:
            print "变量名合法"

方法二:使用string函数
In [48]: import string

In [49]: string.digits
Out[49]: '0123456789'

In [50]: string.letters
Out[50]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'


#!/usr/bin/env python
# coding:utf-8
"""
变量名的命名规则:由数字、字母、_组成并且不能以数字开头
"""
import string
while True:
    name=raw_input("输入一个变量名:")
    if name[0] == string.digits:
        print "变量名不合法(error 1)"
    else:
        for i in name[1:]:
            if not(i in string.digits or i in string.letters or i == "_"):
                print "变量名不合法(error 2)"
                break
        else:
            print "变量名合法"

数组:数组存储的是同一类型的一串信息

列表:打了激素的数组,可以存储不同类型的数据,甚至可以在列表中再存储一个列表

创建列表:

  赋值方式 m = [1,1.2,"hello",True,1+7j,[1,2,"hello"]]

  工厂函数 n = list("hello")

支持索引、切片、拼接、重复、成员操作符

可以通过 for i in list进行遍历列表中的各个元素

更新列表append(只能更新一个元素),extend(可以更新多个元素)

删除列表remove,pop

内置方法:cmp,len,max,min,enumerate,zip

元组:带了紧箍咒的列表

创建

tu = (1,2,3,4)

注意:单个元组定义必须在后面加逗号tu = (1,)

工厂方法:t= tuple([1,2,3])

支持索引、切片、拼接、重复、成员操作符

内置方法:cmp,len,max,min,enumerate,zip


集和:

集和是无序的,不重复的数据类型

可以去除列表或者元组中重复的元素

集和里面不能放可变数据类型

集和里面remove()和discard()都是删除,但是remove里面如果没有元素会报错,而discard没有元素不会报错

子集.issubset
父集.issuperset
交集.isdisjoint
^交叉集


字典:

字典不支持索引、切

字典里面的key不能重复

题目2:

查看1-10号主机的21,22,3306,80,69端口

解答:

#!/usr/bin/env python
# coding:utf-8
ports = [21,22,3306,80,69]
for i in range(1,11):
    for port in ports:
        ip = '172.25.254.'+str(i)
        print "[+] Listening On:%s:%d" %(ip,port)







阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 南京市江宁区鲜花店 江宁制造府 江宁水月秦淮 琅琊路小学江宁分校 南京江宁谷里房价 南京江宁谷里招聘 江宁谷里招聘 江宇 江宇梦想小镇 超级修仙系统 江宇01 宜宾江安县酒店 江安县招工信息 四川大学江安校区 宜宾江安 江安人论坛 如皋江安酒店 江安旅游景点 江安天氣 如皋市江安镇 如皋江安 江宏恩 江宏恩老婆 江宏杰 福原爱老公江宏杰 福原爱江宏杰 江宏杰个人资料 江宏杰父母简介 江宏杰图片 江宏杰不承认是中国人 问道江寒月砸了多少钱 这才叫明星 一江寒月 江寒汀 我家那小子真帅 江寒汀 江可酸菜鱼 江小涓 权少密宠小姣妻 江小媚作品 超媚小受自我养成分节阅读 拉萨小淼淼的真实资料 江小百 江小白酒业