Python基础

 
      也是自己之前学习的笔记。
读文件
file_obj2=open('hello.txt','w')

conta='my name is Bb'

file_obj2.write(conta)

v=file_obj2.readlines()

print v

 


输出不唯一数1 (这是一个国外Python练习网站上的题目 我其他博文有介绍 )

def checkio(data):

    from collections import Counter

    nonunique = Counter(data) - Counter(set(data))

    return [x for x in data if x in nonunique]

print checkio([1,31,5,13,13,1,1])



print counter(set([1,31,5,13,13,1,1]))

 


输出不唯一数2
#Your optional code here

#You can import some modules or create additional functions



def checkio(data):

    return [x for x in data if data.count(x) > 1]

 

#Some hints

#You can use list.count(element) method for counting.

#Create new list with non-unique elements

#or remove elements from original list (but it's bad practice for many real cases)

#Loop over original list



#These "asserts" using only for self-checking and not necessary for auto-testing

if __name__ == "__main__":

    assert isinstance(checkio([1]), list), "The result must be a list"

    assert checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3], "1st example"

    assert checkio([1, 2, 3, 4, 5]) == [], "2nd example"

    assert checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5], "3rd example"

    assert checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9], "4th example"

 


#python while 循环语句
i=1;

s=0;

while i<=100:

    print s,i

    s=s+i

    i=i+1

print 'exit'

 


#第八课 python自定义函数预定义  1.预定值放在前面 2. 后面赋值可以把先前预定的值覆盖#

def test_e(n1,n2=15):

    print n1

    print n2

    return n1+n2

test = test_e(2)

print test

 

 


#python函数实参赋值顺序#
def test_e(val1,val2,val3):

    print val1

    print val2

    print val3

    return val1+val2+val3

test_e(5,23,55)

 


#python赋值 进行一一对应的赋值 以防出现错误#

#python if语句#
#注意使用 raw_input()的时候 把字符强制转化成 整形#

count =int(raw_input('input your number:'))

print count

if count>=80:

    print 'a'

elif count>=70:

    print'b'

else :

    print 'nono'

 



    #字符区域代码#

sex=raw_input('put your sex')

if sex=='Male':

    print 'right'

else:

    print 'no'

 

 


#python if分支语句表达式构造  非0 即为真#
#关系表达式 > < =   逻辑表达式 and or not 


#网络刷博客浏览量#

import os
import
webbrowser as web import time i=0 while i<=10: web.open('http://blog.sina.com.cn/s/blog_9a0d1f710101vm5k.html?tj=1') time.sleep(0.8) os.system('taskkill /F /IM chrome.exe') print '%d times already run' % i i=i+1

 




#循环体for基础# 
list1=[2,65,'g',5656] #list 数据类型

i=0;

for lists in list1:

    print format(i,'2d'),lists

    i=i+1

 



    #string 数据类型
j=0;

string ='hello world'

list2=list(string)  #

for str in list2:  #string 直接用数据也可以

    print format(j,'2d'),str;

    j=j+1;



k=0;

for k in range(1,101,2):  #range 函数 范围在 start 到 end-1 最后一位为每个数字间隔数

    print k;

 


s1='hello world'
#for循环 循环体遍历文件和元组#

tup = (1,2,3,4,5)  #tup  元组

for tups in tup:

    print tups

# file.readlines 获取文件列表 file.readline 获取文件字符串第一行

#记住 open 的用法

str =open('python16.py','r').readline()

print len(str)



for c in open('python16.py','r').readlines():

    print c;

    open('temp.txt','a++').write(r)  # 在原目录下面增加一个txt文件 在文件里面写入打开的文件内容

 

 


#python 字符串基础
#转移字符串

print r'hello\nworld'  #r关闭转义字符串的作用

print u'unicode'  #unicode 字符串

#格式化字符串

print 'your age is %d'%(28) 

 


# open('c:\\temp\\temp.txt','a+') 用一个‘、’可能被认为是转义字符

#字符串基本操作

s1='www.hxend'

s2='.com'

print s1,s2    #这样输出的话  中间会存在一个空格

print s1+s2   #用‘+’连接两个字符串



#字符串的重复  *

s='abcdefg'

print s*5

 

#访问字符串的某个元素  index索引

ch = s[3]

print ch



#python 切片  slice s[i:j]

sub =s[3:5]  #从 start 到 end-1

print sub

print s[:5]

print s[3:]

print s[-4:-1]  #如果发生错误 就会出现 空格表示

#   s[i:j:k]

print s[-1:-4:-1]  #倒序输出  依次减一

s2='www.hxend.com'

print s2[9:4:-1]

print s2[-1:0:-1]

print s2[-1::-1]



#用for 循环遍历整个字符串

s5='www.hxend.com'

for ch in s5:

    print ch;

 


#字符串的高级函数

#isalnum 判断是否为 数字或者为字母 s.isalnum() 

s='wwwhxend55com'

print s.isalnum()

# s.isalpha 判断是否为字母

s='abcdef'

print s.isalpha() 

# s.isdigit()  判断是否为数字

s='626611'

print s.isdigit()

# s.islower s.isupper 判断大小写

s='FDFD'

print s.islower()

print s.isupper()

# s.isspace  判断是否为 空格

s=' '

print s.isspace()



#  s.upper()   s.lower()  大小写互换

s='sdgsdgsJLKF'

print s.upper()



#字符串查找  s.startswith()   s.endswith()  返回 bool值

s='www.hxend.com'

s1='www'

print s.startswith(s1)

print s.endswith(s1)



# find 函数  s.replace('','')  函数代替 找到即可替换

s='www.hxend.com'

if s.find('hxend'):

    s5=s.replace('hxend','baidu')  #不改变原来的值

print s5

 

 


#字符串分割函数

s='    abcdef 1515 dhgghl    sdjgsjdg hgkjdhgjk g  gskdj gjkg kjsd   '

print s

list1=s.split()

print list1

print len(list1)

#  s.strip() 去掉字符串开头 和结尾的 空格

s1=s.strip()

print s1

#find 函数返回 出现这个字符的位置  找不到 返回 -1

a= s1.find('c')

print a

s1=list(s1)

print s1



#  s.find('',k)   find 从k开始

# s.find('')  find 从头开始

import math

s1=s.strip()

a=s1.find(' ')

print s1[:a]

list11=s1.split()

lens=len(list11)

print format(lens,'2d')   #format 的用法

i=0

for n in range(0,lens-1):   #动态变化次数

    while s1[a] == ' ':

        a=a+1

    b=s1.find(' ',a)

    if b!=-1:                #考虑到后面结尾部分 不存在空格了

        print s1[a:b]  

    else:

        print s1[a:]

    a=b



'''count = 5  #这里也是动态变化次数的方法之一

for i in list1:

    if count == 0:

        pass

    else

        # do sth here...

        count = count - 1 #'''

 

 


#字符串分割函数的实现

s='sdgsdg..sdg.f.gs.dh.sd..fsd.g.sd'

s1=s.split('.')  #分割出字符串 去除'.' 然后录入到列表中去

print s1



#  s.find('',k)   find 从k开始

# s.find('')  find 从头开始

#  s.find('',k)   find 从k开始

# s.find('')  find 从头开始

import math

def my_split(sep):

    s1=s.strip()

    a=s1.find(sep)

    print s1[:a]

    list11=s1.split(sep)

    lens=len(list11)

    print format(lens,'2d')   #format 的用法

    i=0

    for n in range(0,lens-1):   #动态变化次数

        while s1[a] == sep:

            a=a+1

        b=s1.find(sep,a)

        if b!=-1:                #考虑到后面结尾部分 不存在空格了

            print s1[a:b]  

        else:

            print s1[a:]

        a=b      

my_split('.')

 

 


#append()的使用
list2=[2,32,32,23,232,3,2]

list2.append(1)  #append()  增加在尾部

print list2
#字典
adict={'mother':45,'father':55}

print adict

adict['grandfather']=87 #增加在首部

print adict

print adict.keys()  #  名字

print adict['father']  #提取内容

#print 默认为每个输出 输出一个换行  后面加上一个  , 可以改变这个状态



a='sdgsdgsdsdh'

for i ,ch in  enumerate(a):   #enumrate() 函数

    print ch,i

 


   
'''2.13    列表解析 
这是个术语, 表示你可以在一行中使用一个for循环将所有值放到一个列表 当中: '''
sqdEvens = [x ** 2 for x in range(8) if not x % 2]

print sqdEvens`

'''handle = open(file_name, access_mode = 'r')

file_name 变量包含我们希望打开的文件的字符串名字, access_mode 中 'r' 表示读取,

'w' 表示写入, 'a' 表示添加。'''



file1=open('second.py','r')   #文件操作

print file1.readline()

#print file1.read()

a=file1.readlines() #readlines() 自动将文件内容分析成一个行的列表,

#该列表可以由 Python 的 for ... in ... 结构进行处理

print a[1]

 


你可能感兴趣的:(python)