python部分内容存档dahu1

Ec25自己写函数作为脚本,文档注释...1

Ec31if&raw_input()1

ec33while.1

ec35用函数写的一个小的选择游戏...1

ec39列表的操作...1

ec40字典...1

map函数应用...1

ec41函数写小型地图游戏,raw_input提示给答案...1

ec随机数用法...1

getattr用法...1

Ec42class写ec41的游戏...1

ec处理异常try&except1

From实验楼...1

Pathbao.py.1

sy1glob.1

Sy2os包...1

shutil包...1

Pickle包...1

subprocess包...1

thread包...1

multiprocessing包...1

读取中文...1

Sy6.py线程实验售票系统...1

sy6.py用类实现...1

ascii.pyargparse操作分解...1

sy8.pyargparse操作最终...1

pic_change_str.py实验楼图片转字符画课程...1

2048系列代码...1

主程序代码...1

2048cpzip/for的用法...1

2048cp1curse的颜色设置。。...1

2048cp2研究curses的一些用法,很奇怪,还不精...1

2048cp3#边框的画法,控制数组大小和里面值是否出现...1

2048cp4学习defaultdict的用法...1

2048read_input.py.1

2048hasatta的用法...1

2048format的用法...1

2048clear1

Jianming.1

Cat1

class_inherit1

class_init1

finally.1

gui1

gui2.1

inherit1

Lambda.1

list_comprehension.1

method.1

my_module.1

my_module1.1

Pickling.1

powersum..1

print_one_line.1

threading.1

threading2.1

try_except1

菜鸟教程...1

Using_copy.1

using_dict1

using_file.1

using_list1

using_name.1

Using_slice.1

using_str1

using_tuple.1

菜鸟教程例子...1

sl1.1

sl2.1

sl3.1

sl4.1

sl5.1

Sl6.1

sl7.1

sl11.1

sl12.1

sl13.1

sl14.1

sl17.1

sl18.1

sl19.1

sl20.1

sl21.1

Sl22.1

sl23.1

Sl24.1

Sl25.1

Sl26.1

Sl27.1

sl28.1

Sl29.1

Sl30.1

Mysql教程...1

1.创建数据库...1

2.删除数据库...1

3.创建表...1

4.删除表...1

5修改表...1

(1)修改表类型,语法如下:...1

(2)增加表字段,语法如下:...1

(3)删除表字段,语法如下:...1

(4)字段改名,语法如下:...1

(5)修改字段排列顺序...1

(6)表改名,语法如下:...1

DML语句...1

插入记录...1

更新记录...1

删除记录...1

查询记录...1

(1)查询不重复的记录。...1

(2)条件查询...1

(3)排序和限制...1

(4)聚合...1

Ashdgasbjdb

Asdhgajsd

x='thereare%dtypesofpeople'%10

binary='binary'

do_not="don't"

y='thosewhoknow%sandthosewho%s.'%(binary,do_not)

print(x)

print(y)

print('Isaied:%r.'%x)

print("Ialsosaid:'%s'."%y)

hilarious=False

joke_evaluation="Isn'tthatjokesofunny!%r"

print(joke_evaluation%hilarious)

w="thisistheleftsideof.."

e='astringwitharightside.'

print(w+e)

print('Maryhadalittlelamb.')

print("itsfleecewaswhiteas%s."%'snow')

print("AndeverywherethatMarywent.")

print("."*10)#whatthefk这边是出现10次

end1="C"

end2='h'

end3='e'

end4='e'

end5='s'

end6='e'

end7='B'

end8='u'

end9='r'

end10='g'

end11='e'

end12='r'

print(end1+end2+end3+end4+end5+end6,)

print(end7+end8+end9+end10+end11+end12)

formatter='%r%r%r%r'

print(formatter%(1,2,3,4))

print(formatter%('one','two','three','four'))

print(formatter%(True,False,False,True))

print(formatter%(formatter,formatter,formatter,formatter))

print(formatter%(

"Ihadthisthing.",

'Thatyoucouldtypeupright.',

"Butitdidn'tsing.",

"SoIsaidgoodnight."

))

days="\nMonTueWedThuFriSatSun"

months="\nJan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"

print("Herearethedays:",days)

print("\n\nHerearethemonths:",months)

#print('whatfc')#这样写就不会换行,很正常的写法

print('''

whatfc

''')#这样写就会换行,应该是'''起作用

#--coding:utf-8--

tabby_cat="\tI'mtabbedin."

persian_cat="I'msplit\nonaline."

backslash_cat="I'm\\a\\cat."

fat_cat="""

I'lldoalist:

\t*Catfood

\t*Fishes

\t*Catnip\n\t*Grass

"""

print(tabby_cat)

print(persian_cat)

print(backslash_cat)

print(fat_cat)

'''

所有的转义字符和所对应的意义:

转义字符

意义

ASCII码值(十进制)

\a

响铃(BEL)

007

\b

退格(BS),将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF),将当前位置移到下一行开头

010

\r

回车(CR),将当前位置移到本行开头

013

\t

水平制表(HT)(跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符''\'

092

\'

代表一个单引号(撇号)字符

039

\"

代表一个双引号字符

034

\

代表一个问号

063

\0

空字符(NULL)

000

\ooo

1到3位八进制数所代表的任意字符

三位八进制

\xhh

1到2位十六进制所代表的任意字符

二位十六进制

注意:区分,斜杠:"/"与反斜杠:"\",此处不可互换

print"Howoldareyou",

age=raw_input()

print"Howtallareyou",

height=raw_input()

print"Howmuchdoyouweigh",

weight=raw_input()

print"So,you're%rold,%rtalland%rheavy."%(age,height,weight)

1>>>raw_input_A=raw_input("raw_input:")

2raw_input:abc

3>>>input_A=input("Input:")

4Input:abc

5

6Traceback(mostrecentcalllast):

7File"",line1,in

8input_A=input("Input:")

9File"",line1,in

10NameError:name'abc'isnotdefined

11>>>input_A=input("Input:")

12Input:"abc"

13>>>

复制代码

1>>>raw_input_B=raw_input("raw_input:")

2raw_input:123

3>>>type(raw_input_B)

4

5>>>input_B=input("input:")

6input:123

7>>>type(input_B)

8

9>>>

例子1可以看到:这两个函数均能接收字符串,但raw_input()直接读取控制台的输入(任何类型的输入它都可以接收)。而对于input(),它希望能够读取一个合法的python表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个SyntaxError。

例子2可以看到:raw_input()将所有输入作为字符串看待,返回字符串类型。而input()在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int,float);同时在例子1知道,input()可接受合法的python表达式,举例:input(1+3)会返回int型的4。

就是说input处理数字的时候会确定类型,而raw_input全都是字符型,无所谓。

age=raw_input("Howoldareyou")

height=raw_input("Howtallareyou")

weight=raw_input("Howmuchdoyouweigh")

fromsysimportargv

script,first,second,third=argv

print"Thescriptiscalled:",script

print"Yourfirstvariableis:",first

print"Yoursecondvariableis:",second

print"Yourthirdvariableis:",third

script,user_name=argv

prompt=''

print"Hi%s,I'mthe%sscript."%(user_name,script)

print"I'dliketoaskyouafewquestions."

print"Doyoulikeme%r"%user_name

likes=raw_input(prompt)

print"Wheredoyoulive%s"%user_name

lives=raw_input(prompt)

print"Whatkindofcomputerdoyouhave"

computer=raw_input(prompt)

print"""

Alright,soyousaid%raboutlikeingme.

Youlivein%r.Notsurewherethatis.

Andyouhavea%rcomputer.Nice.

"""%(likes,lives,computer)

#搞清楚了%r和%s的区别,r是后面引用字符串的时候会接引号,而s不会接引号

#coding=utf-8#添加这个可以使用中文注释

script,filename=argv#"获取文件名"

print("Here'syourfile%r:")%filename

printtxt.read()

print(txt.closed)

txt.close()

#print"Typethefilenameagain:"

#file_again=raw_input(">>>>")

#txt_again=open(file_again)

#printtxt_again.read()

#coding=utf-8

script,filename=argv

print"We'regoingtoerase%r."%filename

print"Ifyoudon'twantthat,hitCTRL-C(^C)."

print"Ifyoudowantthat,hitRETURN."

raw_input("")

print"Openingthefile..."

target=open(filename,'w')

print"Truncatingthefile.Goodbye!"

target.truncate()

print"NowI'mgoingtoaskyouforthreelines."

line1=raw_input("line1:")

line2=raw_input("line2:")

line3=raw_input("line3:")

print"I'mgoingtowritethesetothefile."

#target.write(line1&"\n"&line2&"\n"&line3)#这种连接的用法找找看

target.write("%s\n%s\n%s"%(line1,line2,line3))#此刻我想说还是我大结构化靠谱!

print"Andfinally,wecloseit."

target.close()

fromos.pathimportexists

script,from_file,to_file=argv

print"Copyingfrom%sto%s"%(from_file,to_file)

#wecoulddothesetwoononelinetoo,how

input=open(from_file)

indata=input.read()

print'''Theinputfileis%dbyteslong,

Doestheoutputfileexist%r,

Ready,hitRETURNtocontinue,CTRL-Ctoabort.

'''%(len(indata),exists(to_file))#用了'''分行显示,格式化不晓得能不能分行。

raw_input()

output=open(to_file,'w')

output.write(indata)

print"Alright,alldone."

output.close()

input.close()

#Thisoneislikeyourscriptswithargv

defprint_two(*args):

arg1,arg2,arg3=args

print"arg1:%r,arg2:%r,arg3;%s"%(arg1,arg2,arg3)

#ok\,that*argsisactuallypointless,wecanjustdothis

defprint_two_again(arg1,arg2):

print"arg1:%r.arg2:%r"%(arg1,arg2)

#注意区分上下两个的用法

#thisjusttakeonearguement

defprint_one(arg1):

print"arg1:%r"%arg1

#thisonetakesnoarguement

defprintnone():

print"Igotnothin'."

print_two("Zed","Shaw",'wtf')

print_two_again("Zed","Shaw")

print_one("First!")

printnone()

defcheese_and_crackers(cheese_count,boxes_of_crackers):

print"Youhave%dcheeses!"%cheese_count

print"Youhave%dboxesofcrackers!"%boxes_of_crackers

print"Manthat'senoughforaparty!"

print"Getablanket.\n"

print"Wecanjustgivethefunctionnumbersdirectly:"

cheese_and_crackers(20,30)

print"Or,wecanusevariablesfromourscripts:"

amount_of_cheese=10

amount_of_crackers=50

cheese_and_crackers(amount_of_cheese,amount_of_crackers)

print"Wecanevendomathinsidetoo:"

cheese_and_crackers(10+20,5+6)

print"Andwecancombinethetwo,variablesandmath:"

cheese_and_crackers(amount_of_cheese+100,amount_of_crackers+1000)

script,input_file=argv

defprint_all(f):

printf.read()

defrewind(f):

f.seek(0)

defprint_a_line(line_count,f):

printline_count,f.readline()#这个是如何实现每一行都读取,是个问题

current_file=open(input_file)

print"Firstlet'sprintthewholefile:\n"

print_all(current_file)

print"\nNowlet'srewind,kindoflikeatape."

rewind(current_file)

print"Let'sprintthreelines:"

current_line=1

print_a_line(current_line,current_file)

current_line=10

#current_line=current_line+1

#print_a_line(current_line,current_file)

print_a_line(3,current_file)

print_a_line(3,current_file)#果然不是按照行号来的

defadd(a,b):

print"Adding%d+%d"%(a,b)

returna+b

defsubtract(a,b):

print"Suntracting%d-%d"%(a,b)

returna-b

defmultiply(a,b):

print"Multiplying%d*%d"%(a,b)

returna*b

defdivide(a,b):

print"Dividing%d/%d"%(a,b)

returna/b

print"let'sdosomemathwithjustfunctions!"

age=add(30,5)

height=subtract(78,4)

weight=multiply(90,2)

iq=divide(100,2)

print"Age:%d,Height:%d,Weight:%d,IQ:%d"%(age,height,weight,iq)

#Apuzzlefortheextracredit,typeitinanyway.

print"Hereisapuzzle."

what=add(age,subtract(height,multiply(weight,divide(iq,2))))

print"Thatbecomes:",what,"Canyoudoitbyhand"

print"Let'spracticeeverything."

print"You\'dneentoknow\'boutescapewith\\theatdo\nnewlinesand\ttabs"

poem="""

\tThelovelyworld

withlogicsofirmlyplanted

cannotdiscern\ntheneedsoflove

norcomprehendpassionfromintution

andrequiresanexplanation

\n\twherethereisnone.

print"------"

printpoem

five=10-2+3-6

print"Thisshouldbefive:%s"%five

defsecret_formula(started):

jelly_beans=started*500

jars=jelly_beans/1000

crates=jars/100

returnjelly_beans,jars,crates

start_point=10000

beans,jars,crates=secret_formula(start_point)

print"Withastartingpointof:%d"%start_point

print"We'dhave%dbeans,%djars,and%dcrates."%(beans,jars,crates)

start_point=start_point/10

print"Wecanalsodothatthisway:"

print"We'dhave%dbeans,%djars,and%dcrates."%secret_formula(start_point)

#函数return的几个值都可以用作结格式数据里面里面

defbreak_words(stuff):

'''Thisfunctionwillbreakupwordsforus.'''

#这些东西是放在'''之间的,文档注解,documentationcommnets,大型项目可供查阅!

#如何查阅?python-mpydocec25

words=stuff.split('')

returnwords

defsort_words(words):

"""Sortsthewords."""

returnsorted(words)#对单个词进行排序

defprint_first_word(words):

"""Printsthefirstwordafterpoppingifoff."""

word=words.pop(0)

printword

defprint_last_word(words):

"""Printsthelastwordafterpoppingifoff."""

word=words.pop(-1)

defsort_sentence(sentence):

"""Takesinafullsentenceandreturnsthesortedwords."""

words=break_words(sentence)

returnsort_words(words)#句子排序,先拆分词。

defprint_first_and_last(sentence):

"""Printsthefirstandlastwordsofthesentence."""

print_first_word(words)

print_last_word(words)

defprint_first_and_last_sorted(sentence):

"""Sortsthewordsthenprintsthefirstandlastone."""

words=sort_sentence(sentence)

#这一节学完,知道可以以后自己写函数作为脚本,然后不停的import就行,

#注意函数之间写文档注释,这个也很屌。

print"Youenteradarkroomwithtwodoors."

print"Doyougothroughdoor#1ordoor#2"

door=raw_input(">>>>>>")

ifdoor=="1":

print"There'sagiantbearhereeatingacheesecake.Whatdoyoudo"

print"1.Takethecake."

print"2.Screamatthebear."

bear=raw_input(">>>>>>")

ifbear=="1":

print"Thebeareatsyourfaceoff.Goodjob!"

elifbear=="2":

print"Thebeareatsyourlegsoff.Goodjob!"

else:

print"Well,doing%sisprobablybetter.Bearrunsaway."%bear

elifdoor=="2":

print"YoustareintotheendlessabyssatCthulhu'sretina."

print"1.Blueberries.\n2.Yellowjacketclothespins."

print"3.Understandingrevolversyellingmelodies."

insanity=raw_input(">>>>>>")

ifinsanity=="1"orinsanity=="2":

print"Yourbodysurviespoweredbyamindofjello.Goodjob!"

print"Theinsanityrotsyoureyesintoapoolofmuck.Goodjob!"

print"Yourstumblearoundandfallonaknifeanddie.Goodjob!"

i=0

numbers=[]

whilei<6:

print"Atthetopiis%d"%i

numbers.append(i)

i=i+1

print"NumbersNow:",numbers

print"Atthebottomiis%d"%i

print"Thenumbers:"

fornuminnumbers:

printnum

fromsysimportexit

defgold_room():

print"Thisroomisfullofgold.Howmuchdoyoutake"

next=raw_input(">~>")

if"0"innextor"1"innext:#判断输入是否有0或1,要包含所有的数字

how_much=int(next)

dead("Man,learntotypeanumber.")

ifhow_much<50:

print"Nice,you'renotgreedy,youwin!"

exit()

dead("Yougreedybastard!")

defbear_room():

print"Thereisabearhere."

print"Thebearhasabunchofhoney."

print"Thefatbearisinfrontofanotherdoor."

print"Howareyougoingtomovethebear"

bear_moved=False

whileTrue:

ifnext=="takehoney":

dead("Thebearlooksatyouthenslapsyourfaceoff.")

elifnext=="tauntbear"andnotbear_moved:

print"Thebearhasmovedfromthedoor.Youcangothroughitnow."

bear_moved=True

elifnext=="tauntbear"andbear_moved:

dead("Thebeargetspissedoffandchewsyourlegoff.")

elifnext=="opendoor"andbear_moved:

gold_room()

print"Igotnoideawhatthatmeans."

defcthulhu_room():

print"HereyouseethegreatevilCthulhu."

print"He,it,whateverstaresatyouandyougoinsane."

print"Doyoufleeforyourlifeoreatyourhead"

if"flee"innext:

start()#这边就起到回调的作用,游戏中的返回。。。很好用啊

elif"head"innext:

dead("Wellthatwastasty!")

cthulhu_room()

defdead(why):

printwhy,"Goodjob!"

exit(0)

defstart():

'''Gamestartfromhere!'''

print"Youareinadarkroom."

print"Thereisadoortoyourrightandleft."

print"whichonedoyoutake"

ifnext=="left":

bear_room()

elifnext=="right":

dead("Youstumblearoundtheroomuntilyoustarve.")

start()

ten_things="ApplesOrangesCrowsTelephoneLightSugar"

print"Waitthere'snot10thingsinthatlist,let'sfixthat."

stuff=ten_things.split('')

more_stuff=["Day","Night","Song","Frisbee","Corn","Banana","Girl","Boy"]

print"stuffis%r\nandit'slensis%d"%(stuff,len(stuff))

whilelen(stuff)!=10:

next_one=more_stuff.pop()#从more_stuff的最后一项挑出来放到stuff中

print"Adding:",next_one

stuff.append(next_one)#这种用法非常适合两个List之间互换

print"There's%ditemsnow."%len(stuff)

print"therewego:",stuff

print"Let'sdosomethingswithstuff."

printstuff[1]

printstuff[-1]

printstuff.pop()

print'<>'.join(stuff)#join的用法

print'#'.join(stuff[3:6])#下限是不包含的

stuff={1:"dahu",2:"daqing",3:"tech"}

#printstuff[2]

stuff['city']='jianhu'

#printstuff['city']

stuff[55]=2

#printstuff

cities={"CA":'SanFrancisco',"MI":'Detroit',"FL":'Jacksonville'}

cities["NY"]="NewYork"

cities["OR"]="Portland"

deffind_city(themap,state):

ifstateinthemap:

returnthemap[state]

return"Notfound."

#OKpayattention!

#cities["_find"]=find_city#函数也可以作为一个变量

print"State(Entertoquit)",

state=raw_input(">>>")

ifnotstate:break

#thislineisthemostimportant

#city_found=cities["_find"](cities,state)

#这个运行时会在字典里建立_find键,其实没必要

city_found=find_city(cities,state)

printcity_found

printcities

defadd100(x):

returnx+100

hh=[11,22,33]

a=map(add100,hh)

print"ais",a

defabc(a,b,c):

returna*10000+b*100+c

list1=[11,22,33]

list2=[44,55,66]

list3=[77,88,99]

b=map(abc,list1,list2,list3)

printb

c=map(None,list1)

printc

d=map(None,list1,list2,list3)

printd

fromrandomimportrandint

defdeath():

quips=["Youdied.Youkindasuckatthis.",

"Nicejob,youdied...jackass.",

"Suchaloser.",

"Ihaveasmallpuppythat'sbetteratthis."]

printquips[randint(0,len(quips)-1)]

defcentral_corridor():

print"TheGothonsofPlanetPercal#25haveinvadedyourshipanddestroyed"

print"yourentirecrew.Youarethelastsurvivingmemberandyourlast"

print"missionistogettheneutrondestructbombfromtheWeaponsArmory,"

print"putitinthebridge,andblowtheshipupaftergettingintoan"

print"escapepod.\n"

print"You'rerunningdownthecentralcorridortotheWeaponsArmorywhen"

print"aGothonjumpsout,redscalyskin,darkgrimyteeth,andevilclowncostume"

print"flowingaroundhishatefilledbody.He'sblockingthedoortothe"

print"Armoryandabouttopullaweapontoblastyou."

action=raw_input('''\nI'lgiveyousomeadvice>>

\nshoot!\tdodge!\ttellajoke\t\n>>''')

ifaction=="shoot!":

print"QuickonthedrawyouyankoutyourblasterandfireitattheGothon."

print"Hisclowncostumeisflowingandmovingaroundhisbody,whichthrows"

print"offyouraim.Yourlaserhitshiscostumebutmisseshimentirely.This"

print"completelyruinshisbrandnewcostumehismotherboughthim,which"

print"makeshimflyintoaninsanerageandblastyourepeatedlyinthefaceuntil"

print"youaredead.Thenheeatsyou."

return'death'

elifaction=="dodge!":

print"Likeaworldclassboxeryoudodge,weave,slipandslideright"

print"astheGothon'sblastercranksalaserpastyourhead."

print"Inthemiddleofyourartfuldodgeyourfootslipsandyou"

print"bangyourheadonthemetalwallandpassout."

print"YouwakeupshortlyafteronlytodieastheGothonstompson"

print"yourheadandeatsyou."

elifaction=="tellajoke":

print"LuckyforyoutheymadeyoulearnGothoninsultsintheacademy."

print"YoutelltheoneGothonjokeyouknow:"

print"Lbhezbgurevffbsng,jurafurfvgfnebhaqgurubhfr,furfvgfnebhaqgurubhfr."

print"TheGothonstops,triesnottolaugh,thenbustsoutlaughingandcan'tmove."

print"Whilehe'slaughingyourunupandshoothimsquareinthehead"

print"puttinghimdown,thenjumpthroughtheWeaponArmorydoor."

return'laser_weapon_armory'

print"DOESNOTCOMPUTE!"

return'central_corridor'

deflaser_weapon_armory():

print"YoudoadiverollintotheWeaponArmory,crouchandscantheroom"

print"formoreGothonsthatmightbehiding.It'sdeadquiet,tooquiet."

print"Youstandupandruntothefarsideoftheroomandfindthe"

print"neutronbombinitscontainer.There'sakeypadlockonthebox"

print"andyouneedthecodetogetthebombout.Ifyougetthecode"

print"wrong10timesthenthelockclosesforeverandyoucan't"

print"getthebomb.Thecodeis3digits."

code="%d%d%d"%(randint(1,9),randint(1,9),randint(1,9))

print"Codeis%s"%code

guess=raw_input("[keypad]>")

guesses=0

whileguess!=codeandguesses<10:

print"BZZZEDD!"

guesses+=1

ifguess==code:

print"Thecontainerclicksopenandthesealbreaks,lettinggasout."

print"Yougrabtheneutronbombandrunasfastasyoucantothe"

print"bridgewhereyoumustplaceitintherightspot."

return'the_bridge'

print"Thelockbuzzesonelasttimeandthenyouhearasickening"

print"meltingsoundasthemechanismisfusedtogether."

print"Youdecidetositthere,andfinallytheGothonsblowupthe"

print"shipfromtheirshipandyoudie."

defthe_bridge():

print"YouburstontotheBridgewiththeneutrondestructbomb"

print"underyourarmandsurprise5Gothonswhoaretryingto"

print"takecontroloftheship.Eachofthemhasanevenuglier"

print"clowncostumethanthelast.Theyhaven'tpulledtheir"

print"weaponsoutyet,astheyseetheactivebombunderyour"

print"armanddon'twanttosetitoff."

\nthrowthebomb\tslowlyplacethebomb\t\n>>''')

ifaction=="throwthebomb":

print"InapanicyouthrowthebombatthegroupofGothons"

print"andmakealeapforthedoor.Rightasyoudropita"

print"Gothonshootsyourightinthebackkillingyou."

print"AsyoudieyouseeanotherGothonfranticallytrytodisarm"

print"thebomb.Youdieknowingtheywillprobablyblowupwhen"

print"itgoesoff."

elifaction=="slowlyplacethebomb":

print"Youpointyourblasteratthebombunderyourarm"

print"andtheGothonsputtheirhandsupandstarttosweat."

print"Youinchbackwardtothedoor,openit,andthencarefully"

print"placethebombonthefloor,pointingyourblasteratit."

print"Youthenjumpbackthroughthedoor,punchtheclosebutton"

print"andblastthelocksotheGothonscan'tgetout."

print"Nowthatthebombisplacedyouruntotheescapepodto"

print"getoffthistincan."

return'escape_pod'

return"the_bridge"

defescape_pod():

print"Yourushthroughtheshipdesperatelytryingtomakeitto"

print"theescapepodbeforethewholeshipexplodes.Itseemslike"

print"hardlyanyGothonsareontheship,soyourrunisclearof"

print"interference.Yougettothechamberwiththeescapepods,and"

print"nowneedtopickonetotake.Someofthemcouldbedamaged"

print"butyoudon'thavetimetolook.There's5pods,whichone"

print"doyoutake"

good_pod=randint(1,5)

print"good_podis%d"%good_pod

guess=raw_input("[pod#]>")

ifint(guess)!=good_pod:

print"Youjumpintopod%sandhittheejectbutton."%guess

print"Thepodescapesoutintothevoidofspace,then"

print"implodesasthehullruptures,crushingyourbody"

print"intojamjelly."

print"Thepodeasilyslidesoutintospaceheadingto"

print"theplanetbelow.Asitfliestotheplanet,youlook"

print"backandseeyourshipimplodethenexplodelikea"

print"brightstar,takingouttheGothonshipatthesame"

print"time.Youwon!"

Rooms={

'death':death,

'central_corridor':central_corridor,

'laser_weapon_armory':laser_weapon_armory,

'the_bridge':the_bridge,

'escape_pod':escape_pod}

defrunner(map,start):

next=start

room=map[next]

print"\n------"

next=room()#这句话操作层面算是理解了,

#但是按顺序应该在---的后面,但在powersheel中出现在前面,这是为什么

print">>next<<",next

runner(Rooms,'central_corridor')

#printlen(quips)-1

a=randint(0,3)#取随机数的两端都可以取到!

printa

printquips[a]

death()

classA:

def__init__(self):

self.name='zhangjing'

self.age='24'

defmethod(self):

print"methodprint"

Instance=A()

printgetattr(Instance,'name')#如果Instance对象中有属性name则打印self.name的值,否则打印'notfind'

printgetattr(Instance,'age')#如果Instance对象中有属性age则打印self.age的值,否则打印'notfind'

printgetattr(Instance,'method','default')

#如果有方法method,打印其地址,否则打印default

printgetattr(Instance,'method','default')()

#如果有方法method,运行函数并打印None否则打印default

classGame(object):

def__init__(self,start):

self.quips=["Youdied.Youkindasuckatthis.",

"Ihaveasmallpuppythat'sbetteratthis."

]

self.start=start

defplay(self):

next=self.start

print"\n-----"

room=getattr(self,next)

next=room()

defdeath(self):

printself.quips[randint(0,len(self.quips)-1)]

defcentral_corridor(self):

deflaser_weapon_armory(self):

defthe_bridge(self):

\nthrowthebomb\nslowlyplacethebomb\t\n>>''')

defescape_pod(self):

a_game=Game("central_corridor")

a_game.play()

defconvert_number(s):

try:

returnint(s)

exceptValueError:

returnNone

s=raw_input("PLZ>>")

print(convert_number(s))

importos.path

path='H:\python_program\shiyanlou\saile.txt'

print''

print(os.path.basename(path))

print(os.path.dirname(path))

info=os.path.split(path)

path2=os.path.join('/','python_program','shiyanlou','saile.txt')

printpath2

#这里的斜杠注意下,win7里面是"\",而实验楼里面的是"/",这个影响大不大

a='H:\python_program\shiyanlou\..'

#print(os.path.normpath(a))

print"pathis%r"%path

print('exit',os.path.exists(path))

print('size',os.path.getsize(path))

print('lastreadtime',os.path.getatime(path))

print('lastedittime',os.path.getmtime(path))

print('pathtofile',os.path.isfile(path))

print('pathtodir',os.path.isdir(path))

importglob

print(glob.glob("H:\python_program\shiyanlou\*"))

#该命令找出文件夹下所有文件。

importos

path='H:\python_program\shiyanlou\wc'

#这里需要注意下,用mkdir创建文件目录时,最后一个不用\

#os.mkdir(path)#创建新目录

#os.rmdir(path)#删除空目录

#a=os.listdir(path)#返回目录中所有文件。相当于$ls命令,存起来

#printa

#path='H:\python_program\shiyanlou\wc\saile.txt'

#os.remove(path)#删除path指向的文件。path指向某个文件,注意文件名与\的作用。

#path1='H:\python_program\shiyanlou\wc2\saile.txt'

#path2='H:\python_program\shiyanlou\wc2\what.txt'

#os.rename(path1,path2)

#重命名文件,src和ds为两个路径,分别表示重命名之前和之后的路径。

#重命名后,path1消失了,path2产生了,就是重命名文件夹,试试重命名文件,文件也是可以的。

print(os.getcwd())#查询当前工作路径

importshutil

print(os.getcwd())

shutil.copy('a.txt','b.txt')

#copy(src,dst)复制文件,从src到dst。相当于$cp命令。

#move(src,dst)移动文件,从src到dst。相当于$mv命令。

#运用此命令需要先确定文件的位置,一开始确定工作区也是可行的!

importpickle

classBird(object):

have_feather=True

way_of_reproduction='egg'

summer=Bird()

picklestring=pickle.dumps(summer)

printpicklestring

fn='a.pkl'

withopen(fn,'w')asf:

picklestring=pickle.dump(summer,f)

#这个最后结果是none,不知哪里wrong

printsummer

#是放在summer里面的。握草,那为什么picklestring里面是none?

withopen(fn,'r')asf:

summer=pickle.load(f)

importsubprocess

child=subprocess.Popen(["ping","www.baidu.com"])

#child.wait()

print"parentprocess"

out=subprocess.call("ls-l",shell=True)

out=subprocess.call("cd..",shell=True)

child1=subprocess.Popen(["print","abcd"],stdout=subprocess.PIPE)

child2=subprocess.Popen(["wc"],stdin=child1.stdout,stdout=subprocess.PIPE)

out=child2.communicate()

print(out)

#Aprogramtosimulatesellingticketsinmulti-threadway

#WrittenbyVamei

importthreading

importtime

#Thisfunctioncouldbeanyfunctiontodootherchores.

defdoChore():

time.sleep(0.2)

#Functionforeachthread

defbooth(tid):

globali

globallock

lock.acquire()#Lock;orwaitifotherthreadisholdingthelock

ifi!=0:

i=i-1#Selltickets

print(tid,':nowleft:',i)#Ticketsleft

doChore()#Othercriticaloperations

print("Thread_id",tid,"Nomoretickets")

os._exit(0)#Exitthewholeprocessimmediately

lock.release()#Unblock

doChore()#Non-criticaloperations

#Startofthemainfunction

i=100#Availableticketnumber

lock=threading.Lock()#Lock(i.e.,mutex)

#Start10threads

forkinrange(10):

new_thread=threading.Thread(target=booth,args=(k,))#Setupthread;target:thecallable(function)toberun,args:theargumentforthecallable

new_thread.start()#runthethread

用类写的

time.sleep(0.5)

classBoothThread(threading.Thread):

def__init__(self,tid,monitor):

self.tid=tid

self.monitor=monitor

threading.Thread.__init__(self)

defrun(self):

monitor['lock'].acquire()#Lock;orwaitifotherthreadisholdingthelock

ifmonitor['tick']!=0:

monitor['tick']=monitor['tick']-1#Selltickets

print(self.tid,':nowleft:',monitor['tick'])#Ticketsleft

print("Thread_id",self.tid,"Nomoretickets")

monitor['lock'].release()#Unblock

monitor={'tick':100,'lock':threading.Lock()}

new_thread=BoothThread(k,monitor)

new_thread.start()

importmultiprocessingasmul

defproc1(pipe):

pipe.send('hello')

print('proc1rec:',pipe.recv())

defproc2(pipe):

print('proc2rec:',pipe.recv())

pipe.send('hello,too')

#Buildapipe

pipe=mul.Pipe()

#Passanendofthepipetoprocess1

p1=mul.Process(target=proc1,args=(pipe[0],))

#Passtheotherendofthepipetoprocess2

p2=mul.Process(target=proc2,args=(pipe[1],))

p1.start()

p2.start()

p1.join()

p2.join()

#coding=gbk

s="中文"

s1=u"中文"

s2=unicode(s,"gbk")#省略参数将用python默认的ASCII来解码

s3=s.decode("gbk")#把str转换成unicode是decode,unicode函数作用与之相同

printlen(s)

printlen(s1)

printlen(s2)

printlen(s3)

importcodecs

#printopen("file.txt").read().decode("utf-8")

printopen("file.txt").read()

#文本类型的文件读取,在utf-8和ANSI编码之间的切换。

fromPILimportImage

importargparse

ascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]-_+~<>i!lI;:,\"^`'.")#字符全放在表里面,注意他们的使用方式

#printascii_char

#printlen(ascii_char)

#a=list("!@#$%")#fk,居然直接连起来就OK

defget_char(r,g,b,alpha=256):#RGB值输进去,能转换成对应的字符编码

ifalpha==0:

return''

length=len(ascii_char)

gray=int(0.2126*r+0.7152*g+0.0722*b)

unit=(256.0+1)/length

returnascii_char[int(gray/unit)]

a=get_char(32,32,32,256)

#~~~~~argparse部分学习

parser=argparse.ArgumentParser()

parser.add_argument("echo")

args=parser.parse_args()

printargs.echo

#~~~~~~~~~~~

parser.add_argument("--verbosity",help="increaseoutputverbosity")

ifargs.verbosity:

print"verbosityturnedon"

#~~~~~~~

parser.add_argument("--verbose",help="increaseoutputverbosity",

action="store_true")

ifargs.verbose:

parser.add_argument("-v","--verbose",help="increaseoutputverbosity",

#~~~~~~~~~~~~~

parser.add_argument("square",type=int,

help="displayasquareofagivennumber")

parser.add_argument("-v","--verbose",action="store_true",

help="increaseoutputverbosity")

answer=args.square**2

print"thesquareof{}equals{}".format(args.square,answer)

printanswer

'''Run

这个例子有点大彻大悟的感觉啊,可以不停的加简写,多个参数就都输入,再试试别的,很好!

$pythonprog.py

usage:prog.py[-h][-v]square

prog.py:error:thefollowingargumentsarerequired:square

$pythonprog.py4

16

$pythonprog.py4--verbose

thesquareof4equals16

$pythonprog.py--verbose4

thesquareof4equals16'''

parser.add_argument("-v","--verbosity",type=int,

ifargs.verbosity==2:

elifargs.verbosity==1:

print"{}^2=={}".format(args.square,answer)

'''运行:

$pythonprog.py4-v

usage:prog.py[-h][-vVERBOSITY]square

prog.py:error:argument-v/--verbosity:expectedoneargument

$pythonprog.py4-v1

4^2==16握草,这是给cerbosity赋值来操作啊,我就想到VBA里面各种参数的东西

$pythonprog.py4-v2

$pythonprog.py4-v3

16'''

#除了最后一个暴露了一个bug,其他的看起都来运行良好。让我们通过限制--verbosity后面跟的值来修正:

parser.add_argument("-v","--verbosity",type=int,choices=[0,1,2],

运行:

usage:prog.py[-h][-v{0,1,2}]square

prog.py:error:argument-v/--verbosity:invalidchoice:3(choosefrom0,1,2)

$pythonprog.py4-h

positionalarguments:

squaredisplayasquareofagivennumber

optionalarguments:

-h,--helpshowthishelpmessageandexit

-v{0,1,2},--verbosity{0,1,2}

increaseoutputverbosity'''

#~~~~~~~~~~~~

help="displaythesquareofagivennumber")

parser.add_argument("-v","--verbosity",action="count",

'''我们引入了另一个关键词count来统计可选参数出现的次数:

4^2==16

$pythonprog.py4-vv

$pythonprog.py4--verbosity--verbosity

prog.py:error:unrecognizedarguments:1

-v,--verbosityincreaseoutputverbosity

$pythonprog.py4-vvv

#~~~~~~~~

#bugfix:replace==with>=

ifargs.verbosity>=2:

elifargs.verbosity>=1:

#运行如下:

#$pythonprog.py4-vvv

#thesquareof4equals16

#$pythonprog.py4-vvvv

#$pythonprog.py4

#Traceback(mostrecentcalllast):

#File"prog.py",line11,in

#ifargs.verbosity>=2:

#TypeError:unorderabletypes:NoneType()>=int()

parser.add_argument("-v","--verbosity",action="count",default=0,

#~~~~~~~~~

#如果我们想扩展程序的功能,而不仅仅是求平方:

parser.add_argument("x",type=int,help="thebase")

parser.add_argument("y",type=int,help="theexponent")

parser.add_argument("-v","--verbosity",action="count",default=0)

answer=args.x**args.y

print"{}tothepower{}equals{}".format(args.x,args.y,answer)

print"{}^{}=={}".format(args.x,args.y,answer)

#输出:

#$pythonprog.py

#usage:prog.py[-h][-v]xy

#prog.py:error:thefollowingargumentsarerequired:x,y

#$pythonprog.py-h

#positionalarguments:

#xthebase

#ytheexponent

#optionalarguments:

#-h,--helpshowthishelpmessageandexit

#-v,--verbosity

#$pythonprog.py42-v

#4^2==16

print"Running'{}'".format(__file__)

ifargs.verbosity>=1:

print"{}^{}==".format(args.x,args.y),

#$pythonprog.py42

#16

#$pythonprog.py42-vv

#Running'prog.py'

#命名的时候不要乱写

group=parser.add_mutually_exclusive_group()

group.add_argument("-v","--verbose",action="store_true")

group.add_argument("-q","--quiet",action="store_true")

ifargs.quiet:

elifargs.verbose:

parser=argparse.ArgumentParser(description="calculateXtothepowerofY")

#命令行输入参数处理

parser.add_argument('file')#输入文件

parser.add_argument('-o','--output')#输出文件

parser.add_argument('-w','--width',type=int,default=80)#输出字符画宽

parser.add_argument('-he','--height',type=int,default=80)#输出字符画高

#获取参数ascii_dora.png

IMG=args.file

WIDTH=args.width

HEIGHT=args.height

OUTPUT=args.output

ascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]-_+~<>i!lI;:,\"^`'.")

#将256灰度映射到70个字符上

defget_char(r,g,b,alpha=256):

if__name__=='__main__':

im=Image.open(IMG)

im=im.resize((WIDTH,HEIGHT),Image.NEAREST)

txt=""

foriinrange(HEIGHT):

forjinrange(WIDTH):

txt+=get_char(*im.getpixel((j,i)))#获取相应的像素

txt+='\n'

printtxt

#字符画输出到文件

ifOUTPUT:#如果加了output的选项,其实就相当于你定义一个输出的名字和类型

withopen(OUTPUT,'a+')asf:#打开只写文件,这边也可以考虑用'a+'的形式,我觉得就像是日志一样(log),所有的操作都附着在最后,做个记录,我试试,果然是OK的。

f.write(txt)

withopen("output.txt",'a+')asf:#你这边不定义-o的话,就会输出output.txt

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

importcurses

fromrandomimportrandrange,choice#generateandplacenewtile

fromcollectionsimportdefaultdict

letter_codes=[ord(ch)forchin'WASDRQwasdrq']#chr和ord互为相反操作,别的进制有特殊的格式

letter_codes=letter_codes+[259,260,258,261,114,113]

actions=['Up','Left','Down','Right','Restart','Exit']

actions_dict=dict(zip(letter_codes,actions*3))#将输入与行为进行关联:

#游戏经过改装,加了方向键,nice!↑←↓→

defget_user_action(keyboard):

'''用户输入处理,阻塞+循环,直到获得用户有效输入才返回对应行为:'''

char="N"

whilecharnotinactions_dict:

char=keyboard.getch()#获取输入一遍使用getch()方法,这个方法暂停等待用户输入,getch()返回一个整数,在0到255之间,表示输入字符的ASCII值

#也就是说getch()得到的数字和ord的数字格式一致

returnactions_dict[char]

deftranspose(field):

'''矩阵转置'''

return[list(row)forrowinzip(*field)]

definvert(field):

'''矩阵逆转,不是逆矩阵'''

return[row[::-1]forrowinfield]

classGameField(object):

'''创建棋盘,初始化棋盘的参数,可以指定棋盘的高和宽以及游戏胜利条件,默认是最经典的4x4~2048。'''

def__init__(self,height=4,width=4,win=2048):

self.height=height

self.width=width

self.win_value=2048

self.score=0

self.highscore=0

self.reset()

defreset(self):

'''重置棋盘'''

ifself.score>self.highscore:

self.highscore=self.score

self.field=[[0foriinrange(self.width)]forjinrange(self.height)]#创建4*4的棋盘

self.spawn()

self.spawn()#初始化的过程,刚开始生成两个随机数

defmove(self,direction):

'''棋盘走一步,通过对矩阵进行转置与逆转,可以直接从左移得到其余三个方向的移动操作'''

defmove_row_left(row):

'''棋盘一行向左合并'''

deftighten(row):#squeesenon-zeroelementstogether,变紧

new_row=[iforiinrowifi!=0]#快速循环,并排除某一项,循环对象是i

new_row+=[0foriinrange(len(row)-len(new_row))]#循环对象是0

returnnew_row

defmerge(row):#合并

pair=False

new_row=[]

foriinrange(len(row)):

ifpair:

new_row.append(2*row[i])

self.score+=2*row[i]

ifi+1

pair=True

new_row.append(0)

new_row.append(row[i])

assertlen(new_row)==len(row)

returntighten(merge(tighten(row)))

moves={}

moves['Left']=lambdafield:\

[move_row_left(row)forrowinfield]

moves['Right']=lambdafield:\

invert(moves['Left'](invert(field)))

moves['Up']=lambdafield:\

transpose(moves['Left'](transpose(field)))

moves['Down']=lambdafield:\

transpose(moves['Right'](transpose(field)))

ifdirectioninmoves:

ifself.move_is_possible(direction):

self.field=moves[direction](self.field)

returnTrue

returnFalse

defis_win(self):

'''判断输赢'''

returnany(any(i>=self.win_valueforiinrow)forrowinself.field)#any的用法,只要有一个true就是true

defis_gameover(self):

returnnotany(self.move_is_possible(move)formoveinactions)

defdraw(self,screen):

'''绘制游戏界面'''

help_string1='(W)Up(S)Down(A)Left(D)Right'

help_string2='(R)Restart(Q)Exit'

gameover_string='GAMEOVER'

win_string='YOUWIN!'

defcast(string):#换行显示对应字符

screen.addstr(string+'\n')

defdraw_hor_separator():#画分隔符

line='+'+('+------'*self.width+'+')[1:]

separator=defaultdict(lambda:line)#separator就是字典,line就为默认值

ifnothasattr(draw_hor_separator,"counter"):#如果没有这个属性或方法

draw_hor_separator.counter=0

cast(separator[draw_hor_separator.counter])

draw_hor_separator.counter+=1#分隔符计数

defdraw_row(row):

cast(''.join('|{:^5}'.format(num)ifnum>0else'|'fornuminrow)+'|')#主要网格的绘制,数组里面要是有东西,就显示出来,没有就空着,用空字符隔开

#重点掌握了{}.format的用法

screen.clear()

cast('SCORE:'+str(self.score))

if0!=self.highscore:

cast('HGHSCORE:'+str(self.highscore))

forrowinself.field:

draw_hor_separator()

draw_row(row)

ifself.is_win():

cast(win_string)

ifself.is_gameover():

cast(gameover_string)

cast(help_string1)

cast(help_string2)

defspawn(self):

'''棋盘操作,随机生成1个2或4'''

new_element=4ifrandrange(100)>89else2

(i,j)=choice([(i,j)foriinrange(self.width)forjinrange(self.height)ifself.field[i][j]==0])

self.field[i][j]=new_element

defmove_is_possible(self,direction):

'''判断能否移动'''

defrow_is_left_movable(row):

defchange(i):#trueifthere'llbechangeini-thtile

ifrow[i]==0androw[i+1]!=0:#Move

ifrow[i]!=0androw[i+1]==row[i]:#Merge

returnany(change(i)foriinrange(len(row)-1))

check={}

check['Left']=lambdafield:\

any(row_is_left_movable(row)forrowinfield)

check['Right']=lambdafield:\

check['Left'](invert(field))

check['Up']=lambdafield:\

check['Left'](transpose(field))

check['Down']=lambdafield:\

check['Right'](transpose(field))

ifdirectionincheck:

returncheck[direction](self.field)

defmain(stdscr):

definit():

#重置游戏棋盘

game_field.reset()

return'Game'

defnot_game(state):

#画出GameOver或者Win的界面

game_field.draw(stdscr)

#读取用户输入得到action,判断是重启游戏还是结束游戏

action=get_user_action(stdscr)

responses=defaultdict(lambda:state)#默认是当前状态,没有行为就会一直在当前界面循环

responses['Restart'],responses['Exit']='Init','Exit'#对应不同的行为转换到不同的状态

returnresponses[action]

defgame():

#画出当前棋盘状态

#读取用户输入得到action

ifaction=='Restart':

return'Init'

ifaction=='Exit':

return'Exit'

ifgame_field.move(action):#movesuccessful

ifgame_field.is_win():

return'Win'

ifgame_field.is_gameover():

return'Gameover'

state_actions={

'Init':init,

'Win':lambda:not_game('Win'),

'Gameover':lambda:not_game('Gameover'),

'Game':game

}

curses.use_default_colors()

game_field=GameField(win=32)

state='Init'

#状态机开始循环

whilestate!='Exit':

state=state_actions[state]()

curses.wrapper(main)

#fromrandomimportrandrange,choice

#fromcollectionsimportdefaultdict

ta=[1,2,3,4,5,6]

tb=[9,8,7]

tx=ta+tb

print"txis\n",tx

xx=ta*2#数组扩展

printxx

tc=['a','b','c']

bb=zip(ta,tc)

printbb

aa=dict(zip(ta,tc*2))#实验可知,tc这边重复了,就用*2来表示。zip表示交叉对应

printaa

letter_codes=[ord(ch)forchin'WASDRQwasdrq']#返回字母对应的数字

x=5

foriinrange(5):

x+=10

printx

ne=any(i<=-1foriinrange(5))

#ne.append(5)

print"neis",ne

printletter_codes

print"codeis\n",letter_codes

actions_dict=dict(zip(letter_codes,actions*3))

printactions_dict

#-*-coding:UTF-8-*-

stdscr=curses.initscr()#初始化

defdisplay_info(str,x,y,colorpair=4):

'''''使用指定的colorpair显示文字'''

globalstdscr

stdscr.addstr(y,x,str,curses.color_pair(colorpair))

stdscr.refresh()

defget_ch_and_continue():

'''''演示pressanykeytocontinue'''

#设置nodelay,为0时会变成阻塞式等待

stdscr.nodelay(0)

#输入一个字符

ch=stdscr.getch()

#重置nodelay,使得控制台可以以非阻塞的方式接受控制台输入,超时1秒

stdscr.nodelay(1)

defset_win():

'''''控制台设置'''

#使用颜色首先需要调用这个方法

curses.start_color()

#文字和背景色设置,设置了两个colorpair,分别为1和2

curses.init_pair(3,curses.COLOR_GREEN,curses.COLOR_BLACK)

curses.init_pair(4,curses.COLOR_RED,curses.COLOR_BLACK)

curses.init_pair(5,curses.COLOR_CYAN,curses.COLOR_WHITE)

#关闭屏幕回显

curses.noecho()

#输入时不需要回车确认

curses.cbreak()

#设置nodelay,使得控制台可以以非阻塞的方式接受控制台输入,超时1秒

defunset_win():

'''控制台重置'''

globalstdstr

#恢复控制台默认设置(若不恢复,会导致即使程序结束退出了,控制台仍然是没有回显的)

curses.nocbreak()#关闭字符终端功能(只有回车时才发生终端)

stdscr.keypad(0)

curses.echo()#打开输入回显功能

curses.endwin()#结束窗口,恢复默认设置

set_win()

display_info('Hola,curses!',10,20,5)#第一个参数是y,第二个是x

display_info('Pressanykeytocontinue...',0,10,3)

get_ch_and_continue()

exceptException,e:

raisee

finally:

unset_win()

begin_x=20;begin_y=27

height=15;width=40

win=curses.newwin(height,width,begin_y,begin_x)

pad=curses.newpad(100,100)

#Theseloopsfillthepadwithletters;thisis

#explainedinthenextsection

foryinrange(0,10):

forxinrange(0,10):

pad.addch(y,x,ord('a')+(x*x+y*y)%26)

exceptcurses.error:

pass

#Displaysasectionofthepadinthemiddleofthescreen

pad.refresh(0,0,5,5,20,75)#refreshe重绘窗口

#研究curses的一些用法

letter_codes=[ord(ch)forchin'WASDRQwasdrq']

actions_dict=dict(zip(letter_codes,actions*2))

a=[[i**3foriinrange(4)]forjinrange(4)]#这边是控制数组大小的

print"ais\n",a,'typeis',type(a)

a.clear()

b=''.join('|{:^5}'.format(num)ifnum>=0else'|'fornuminrow)+'|'

printb#这边是控制里面的数字出不出现的

defdraw_row1(row):

b=''.join('|{:^5}'.format(num)ifnum>1else'|'fornuminrow)

forrowina:

#draw_row(row)

draw_row1(row)

x=''.join('|{:^5}'.format(num)ifnum>=0else'|'fornumin[1,2,3,4])

print"\n",x

line='+'+('+------'*4+'+')[1:]

print"lineis\n",line

lin=('+------'*4+'+')

print"lineingis\n",lin

#矩阵转换的一些用法

fromrandomimportrandrange,choice

#学习defaultdict的用法

#-------一开始,字典里是空的就会报错

#counts=dict()

#counts['puppy']+=1

#-------试试if条件判断

strings=('puppy','kitten','puppy','puppy',

'weasel','puppy','kitten','puppy')

counts={}

forkwinstrings:

ifkwnotincounts:#一开始字典counts里是空的,所以第一个字符出现的时候肯定是没有的,那统计数量就会出错,这里进行if判断就OK了。

counts[kw]=1

print'notin',counts

counts[kw]+=1

printcounts

#--------使用dict.setdefault()方法设置默认值

#dict.setdefault()方法接收两个参数,第一个参数是健的名称,第二个参数是默认值。假如字典中不存在给定的键,则返回参数中提供的默认值;反之,则返回字典中保存的值。

counts.setdefault(kw,0)

#--------上述方法更简洁一点

counts[kw]=counts.setdefault(kw,0)+1

#---------使用collections.defaultdict类

dd=defaultdict(list)

printdd

dd['foo']

dd['bar'].append('quux')

#---------

print('something'indd)

#dd.pop('something')

dd.get('something')

printdd['something']

#---------使用zero后不用初始化

defzero():

return0

dd=defaultdict(zero)

#printdd

printdd['foo']

counts=defaultdict(lambda:10)#使用lambda来定义简单的函数,设定默认值

forsinstrings:

counts[s]+=1

#printdefaultdict.__missing__.__doc__

actions=['Up','Left','Down','Right','Restart','Exit']#(259,260,258,261,114,113)

char=keyboard.getch()

printchar

a=get_user_action(stdscr)

classtest():

name="xiaohua"

return"HelloWord"

t=test()

printt.name

printt.run()

#Python的hasattr()getattr()setattr()函数使用方法详解

print(hasattr(t,"name"))

print(hasattr(t,"run"))

#------

>>>classtest():

2...name="xiaohua"

3...defrun(self):

4...return"HelloWord"

5...

6>>>t=test()

7>>>getattr(t,"name")#获取name属性,存在就打印出来。

8'xiaohua'

9>>>getattr(t,"run")#获取run方法,存在就打印出方法的内存地址。

10>

11>>>getattr(t,"run")()#获取run方法,后面加括号可以将这个方法运行。

12'HelloWord'

13>>>getattr(t,"age")#获取一个不存在的属性。

14Traceback(mostrecentcalllast):

15File"",line1,in

16AttributeError:testinstancehasnoattribute'age'

17>>>getattr(t,"age","18")#若属性不存在,返回一个默认值。

18'18'

19>>>

#------------

setattr(object,name,values)

给对象的属性赋值,若属性不存在,先创建再赋值。

1>>>classtest():

7>>>hasattr(t,"age")#判断属性是否存在

8False

9>>>setattr(t,"age","18")#为属相赋值,并没有返回值

10>>>hasattr(t,"age")#属性存在了

11True

12>>>

综合运用

一种综合的用法是:判断一个对象的属性是否存在,若不存在就添加该属性。

7>>>getattr(t,"age")#age属性不存在

8Traceback(mostrecentcalllast):

9File"",line1,in

10AttributeError:testinstancehasnoattribute'age'

11>>>getattr(t,"age",setattr(t,"age","18"))#age属性不存在时,设置该属性

12'18'

13>>>getattr(t,"age")#可检测设置成功

14'18'

15>>>

#通过位置

#In[1]:'{0},{1}'.format('kzc',18)

#Out[1]:'kzc,18'

#In[2]:'{},{}'.format('kzc',18)

#Out[2]:'kzc,18'

#In[3]:'{1},{0},{1}'.format('kzc',18)

#Out[3]:'18,kzc,18'

a='{0},{1}'.format('kzc',18)

a='{},{}'.format('kzc',18)

a='{1},{0},{1}'.format('kzc',18)

#通过关键字参数

#In[5]:'{name},{age}'.format(age=18,name='kzc')

#Out[5]:'kzc,18'

a='{name},{age}'.format(age=18,name='kzc')

#通过对象属性

classPerson:

def__init__(self,name,age):

self.name,self.age=name,age

def__str__(self):

return'Thisguyis{self.name},is{self.age}old'.format(self=self)

a=str(Person('kzc',18))

print"\nais>>>",a

#通过下标

#In[7]:p=['kzc',18]

#In[8]:'{0[0]},{0[1]}'.format(p)

#Out[8]:'kzc,18'

p=['kzc',18]

q=['kzc',183]

b='{0[0]},{0[1]}'.format(q)

print"\nbis>>>",b

#填充与对齐

#填充常跟对齐一起使用

#^、<、>分别是居中、左对齐、右对齐,后面带宽度

#:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

#比如

#In[15]:'{:>8}'.format('189')

#Out[15]:'189'

#In[16]:'{:0>8}'.format('189')

#Out[16]:'00000189'

#In[17]:'{:a>8}'.format('189')

#Out[17]:'aaaaa189'

a='{:>8}'.format('189')

a='{:0>8}'.format('189')

#精度与类型f

#精度常跟类型f一起使用

#In[44]:'{:.2f}'.format(321.33345)

#Out[44]:'321.33'

a='{:.2f}'.format(321.33345)

#用,号还能用来做金额的千位分隔符。

#In[47]:'{:,}'.format(1234567890)

#Out[47]:'1,234,567,890'

a='{:,}'.format(1234567890)

#foriinxrange(500):

#print#这个方法有点二

importsys

os.system('cls')

#这才是对的

defreadfile(filename):

'''Printafiletothestandardoutput.'''

f=file(filename)

line=f.readline()

iflen(line)==0:

break

printline,#noticecomma

f.close()

#Scriptstartsfromhere

iflen(sys.argv)<2:

print'Noactionspecified.'

sys.exit()

ifsys.argv[1].startswith('--'):

option=sys.argv[1][2:]

#fetchsys.argv[1]butwithoutthefirsttwocharacters

ifoption=='version':

print'Version1.2'

elifoption=='help':

print'''\

Thisprogramprintsfilestothestandardoutput.

Anynumberoffilescanbespecified.

Optionsinclude:

--version:Printstheversionnumber

--help:Displaythishelp'''

print'Unknownoption.'

forfilenameinsys.argv[1:]:

readfile(filename)#读取文件内容

classwoman():

def__init__(self,a,b):

self.name=a

self.age=b*2

printself.name,self.age

classman():

self.age=b

classboy(woman,man):

defsayhi():

print"wtf"

#可以继承多个类,但是两者相冲突的话,选择放在前面的执行

xiaoming=boy('xm',13)

def__init__(self,name):

self.name=name

defsayHi(self):

print"Hello,mynameis",self.name

p=Person("swaroop")

p.sayHi()

f=file('poem.txt')

foriinrange(len(line)):

ifline[i]=='':

time.sleep(0.1)

sys.stdout.write(line[i])#如何让一行显示?

time.sleep(0.05)

#这个想办法如何做成一个模拟打字显示的样子?

#----print和sys.stdout.write的区别!!后者可以无缝接着输出!nice

print'Closedthefile.'

#!/usr/bin/python

importTkinter

top=Tkinter.Tk()

#进入消息循环

top.mainloop()

fromTkinterimport*#导入Tkinter库

root=Tk()#创建窗口对象的背景色

#创建两个列表

li=['C','python','php','html','SQL','java']

movie=['CSS','jQuery','Bootstrap']

listb=Listbox(root)#创建两个列表组件

listb2=Listbox(root)

foriteminli:#第一个小部件插入数据

listb.insert(1,item)

foriteminmovie:#第二个小部件插入数据

listb2.insert(0,item)

listb.pack()#将小部件放置到主窗口中

listb2.pack()

root.mainloop()#进入消息循环

classSchoolMember:

'''Representsanyschoolmember.'''

self.age=age

print'(InitializedSchoolMember:%s)'%self.name

deftell(self):

'''Tellmydetails.'''

print'Name:"%s"Age:"%s"'%(self.name,self.age),

classTeacher(SchoolMember):

'''Representsateacher.'''

def__init__(self,name,age,salary):

SchoolMember.__init__(self,name,age)

self.salary=salary

print'(InitializedTeacher:%s)'%self.name

SchoolMember.tell(self)

print'Salary:"%d"'%self.salary

classStudent(SchoolMember):

'''Representsastudent.'''

def__init__(self,name,age,marks):

self.marks=marks

print'(InitializedStudent:%s)'%self.name

print'Marks:"%d"'%self.marks

t=Teacher('Mrs.Shrividya',40,30000)

s=Student('Swaroop',22,75)

print""#printsablankline

members=[t,s]

formemberinmembers:

member.tell()#worksforbothTeachersandStudents

#调用子类方法时,现在子类中进行调用,如果子类没有,然后再在父类中调用

defmake_repeater(n):

returnlambdas:s*n#lambda语句用来创建函数对象,返回表达式的值

twice=make_repeater(2)

printtwice('word')

printtwice(5)

listone=[2,3,4]

listtwo=[2*iforiinlistoneifi>2]

printlisttwo

print"Hello,wtf"

p=Person()

print"Hi,thisismymodulespeaking!"

version='0.1'

#importmy_module

#my_module.sayhi()

#print'version',my_module.version

frommy_moduleimport*

sayhi()

print'version',version

#这边注意,import的*用法,前面需要加对应库,有*的则不需要

importcPickleasp

#importpickleasp

shoplistfile='shoplist.data'

#thenameofthefilewherewewillstoretheobject

shoplist=['apple','mango','carrot']

#Writetothefile

f=file(shoplistfile,'w')

p.dump(shoplist,f)#dumptheobjecttoafile储存

delshoplist#removetheshoplist

#Readbackfromthestorage

f=file(shoplistfile)

storedlist=p.load(f)#读取

printstoredlist

defpowersum(power,*args):

total=0

foriinargs:

total+=pow(i,power)

returntotal

print(powersum(2,3,4))

print(powersum(2,10,10,10))

print"I",

print"love",

print'you!'

sys.stdout.write("I")

sys.stdout.write("love")

sys.stdout.write('you!')

exitFlag=0

classmyThread(threading.Thread):#继承父类threading.Thread

def__init__(self,threadID,name,counter):

self.threadID=threadID

self.counter=counter

defrun(self):#把要执行的代码写到run函数里面线程在创建后会直接运行run函数

print"Starting"+self.name

print_time(self.name,self.counter,5)

print"Exiting"+self.name

defprint_time(threadName,delay,counter):

whilecounter:

ifexitFlag:

thread.exit()

time.sleep(delay)

print"%s:%s"%(threadName,time.ctime(time.time()))

counter-=1

#创建新线程

thread1=myThread(1,"Thread-1",1)

thread2=myThread(2,"Thread-2",2)

#开启线程

thread1.start()

thread2.start()

print"ExitingMainThread"

classmyThread(threading.Thread):

#获得锁,成功获得锁定后返回True

#可选的timeout参数不填时将一直阻塞直到获得锁定

#否则超时后将返回False

threadLock.acquire()

#释放锁

threadLock.release()

threadLock=threading.Lock()

threads=[]

#开启新线程

#添加线程到线程列表

threads.append(thread1)

threads.append(thread2)

#等待所有线程完成

fortinthreads:

t.join()

#s=raw_input("Entersomething>>")

#prints

s=raw_input("Entersomething>>")

exceptEOFError:

print"\nWhydidyoudoanEOFonme"

except:

print'\nSomethingunexpectedoccurred.'

print"Done."

a=['apple','mango','carrot','banana']

b=a

print"bis",b

dela[0]#可变数据结构,两个list都跟着变

print">>\nais",a

c=a[:]#采用切片操作符运用

print"cis",c

delc[0]

d={'jh':'jianhu','yc':'yancheng','js':'jiangsu',1:55}

print">>>>>\ndis",d

ax=d.copy()

print"axis",ax

fora,bind.items():

print'ais%s,bis%s'%(a,b)

ax.clear()

seq=('name','age','sex')

value=('dahu',24,'male')

dict=dict.fromkeys(seq)

print"NewDictionary:%s"%str(dict)#这样输出形式也行

print"dis%s"%str(d)

dc=dict.fromkeys(seq,1)#算是创建一个新的字典,设置每个初始值

#d=dict.fromkeys(seq,value)#不可以这样,交叉设置不行

print"NewDictionarydis:%s"%str(dc)

print(d.has_key('jh'))#判断是否有键值

print(d.get('jh'))

print(d.get('ycs','haha'))#返回指定键的值,如果值不在字典中,返回你设定的值。

print"<><>",d

x=d.items()#返回一对键和值,一对作为一个tuple

printx,type(x)#返回x为list,x[0]为tuple,所以上面的例子中x用作循环了

xplus=d.iteritems()

printxplus,type(xplus)

xp=list(xplus)#其实跟.items()方法区别不大

printxp,type(xp[0])#字典.iteritems()方法在需要迭代结果的时候使用最适合,而且它的工作效率非常的高。

k=d.keys()

printk,type(k)#类型为list

kplus=d.iterkeys()

printkplus,type(kplus)

kp=list(kplus)

printkp,type(kp)#跟上面iteritems比较类似

#iterkeys返回一个迭代器,而keys返回一个list,表面上看没啥区别,前者不能直接print,而后者可以,在数据量比较大的时候,for循环里用迭代器的效率要比list大很多。

v=d.values()#返回value列表

printv,type(v)

vplus=d.itervalues()

printvplus,type(vplus)

vp=list(vplus)

printvp,type(vp)#同上类比

pp=d.pop('jh')

print">>>>\nppis",pp

pa=d.popitem()

print"pais",pa,type(pa)

deld['jh']

#clear()方法是用来清除字典中的所有数据

#pop()方法的作用是:删除指定给定键所对应的值,返回这个值并从字典中把它移除

#列表中pop()方法,要么删除最后一位,要么指定位置删除,这个不一样

#popitem随机返回并删除字典中的一对键和值,是tuple

#也可以直接del某键,值也会一起删掉。

df=d.setdefault('sz','suzhou')#会实际添加进去,两个用法比较接近

df=d.setdefault('jh','beijing')

gf=d.get("bj",'beijing');printgf#不会真的添加进去

beif={"gz":"guangzhou"};printbeif

beif.update(d);printbeif#把里面的键、值对更新到第一个字典里

vi=d.viewvalues()#viewitems,viewkeys和viewvalues的用法,类型比较奇怪。

printvi,type(vi)

print(len(vi))

#coing=utf-8

poem='''\

Programmingisfun

Whentheworkisdone

ifyouwannamakeyourworkalsofun:

usePython!

f=file('poem.txt','w')

f.write(poem)

f.close

f=file('poem.txt','w+')

#whileTrue:

#line=f.readline()

#iflen(line)==0:

#break

#printline,len(line)

#print(f.readline())

#print(f.readlines())

f.seek(20,0)

print'>>>',f.readline()

printf.tell()

#返回当前在文件中的位置,这个可以跟readline结合起来玩

#f.truncate(3)#存在则截断该字节数,不存在则从当前位置截断,之后所有字符都被删除

shoplist=['apple','mango','carrot','banana']

print">>>>>>\nIhave",len(shoplist),'itemstopurchase.'

print"Theseitemsare",

foriteminshoplist:

printitem,#这边加,就表示连起来输出了

print'\nIalsohavetobuyrice.'

shoplist.append('rice')

print"Myshoppinglistisnow",shoplist

print"Iwillsortmylistnow"

shoplist.sort()

print"Sortedshoppinglistis",shoplist

print"ThefirstitemIwillbuyis",shoplist[0]

olditem=shoplist[0]

delshoplist[0]

print"Iboughtthe",olditem

print"Thisprogramisbeingrunbyitself."

print'Iambengimportedfromanothermodule.'

#$pythonusing_name.py

#Thisprogramisbeingrunbyitself

#$python

#>>>importusing_name

#Iambeingimportedfromanothermodule

#>>>

li=[1,2,3,4,5,6,7]

printli[1:];printli[1:len(li)]#最后这个超过len(li)也行的

printli[:];printli[0:len(li):1]#其实索引、终止索引、步长

#len正好是统计了整个list的数量,正常计数呢又从0开始,少一位,很恰巧。

printli[::]

printli[::-1]#逆序排布

print">>>>>"

#实现让字符串倒叙打印

s='abcdefg'

foriinrange(len(s)):

prints[-i-1]#呵呵,自己写的

i=-1

print">>>>>"#每次都把最后一个字符砍掉

foriin[None]+range(-1,-len(s),-1):#倒序负数实现

prints[:i]

print(len(s))

print(range(-1,-7,-1))

#---倒序正数实现

foriinrange(len(s),0,-1):

s="abcdef"

prints,type(s)

print"xx"+s,"ac"ins

b="xx"+s

prints[-1]#有点像list里面的操作了

prints[0:len(s)]

#----字母处理

print"\n>>>>"

prints.upper()#全部大写

s=s.upper()

prints.lower()#全部小写

prints.swapcase()#大小写互换

prints.title()#所有单词首字母大写,其余小写的

prints.capitalize()#首字母大写,其余小写

print'%sljust=%s'%(s,s.zfill(10))

#获取固定长度,右对齐,左边不够用空格补齐:str.ljust(width)

#获取固定长度,左对齐,右边不够用空格补齐:str.rjust(width)

#获取固定长度,中间对齐,两边不够用空格补齐:str.center(width)

#获取固定长度,右对齐,左边不足用0补齐:str.zfill(width)

s="afbcfbdesf"

prints.find('f')#搜索指定字符串,没有返回-1

prints.find('f',2)#指定起始位置搜索

prints.find('f',2,7)#指定起始及结束位置搜索

prints.rfind('f',1,8)#从右边开始,用法一样的

prints.count('f')#搜索到多少个指定字符串

#index用法

prints.index('fb',0,8)#用法比较类似,查不到会返回异常

print(s.replace('fb','diao'))#全给替换了

print(s.replace('fb','diao',1))#替换指定次数的

#----字符串去空格及去指定字符

s='youHello,whereareyou'

prints

print(s.strip())#去两边空格

print(s.lstrip())#去左边空格

print(s.rstrip())#去右边空格

print(s.strip('you'))#去两边字符串,相应的也有lstrip,rstrip

#-------split用法

s="afbcfbdesfa"

print">>><<<\n"

print(s.split('f'))#按指定字符分割字符串为数组

sa='abc\n\ndefg\rkl\r\n'

print(sa.splitlines(True))#默认为False,不包含换行符,如果为True,则保留换行符。

print(s.startswith('afbc'))#是否以start开头

print(s.endswith('af'))#是否以end结尾

print(s.isalnum())#是否全为字母或数字

print(s.isalpha())#是否全字母

print(s.isdigit())#是否全数字

print(s.islower())#是否全小写

print(s.isupper())#是否全大写

str="thisis\tstringexample....wow!!!"

print">>>\nOriginalstring:"+str

print"Defualtexapandedtab:"+str.expandtabs()

print"Doubleexapandedtab:"+str.expandtabs(12)

b='**'

print(b.join(s))#b加入到s里面,s在两端

s='Imissmissyou'

print(s.partition('miss'))#返回一个3元的元组,第一个左边的,第二个为分隔符本身,第三个是右边的

print(s.rpartition('miss'))#右边开始找

#---------translate()的用法

fromstringimportmaketrans

intab="aeiou"

outtab="12345"

trantab=maketrans(intab,outtab)

str="thisisstringexample....wow!!!"

printstr.translate(trantab)

#>>>th3s3sstr3ng2x1mpl2....w4w!!!,握草,完全跟对应的替换了有木有!

printstr.translate(trantab,'xm')#字符串中要过滤的字符列表。

xas='abzAZ'

print(max(xas))#小写的大,z最大,A最小

zoo=('wolf','elephant','penguin')

print">>>>>\nNumberofanimalsinthezoois",len(zoo)

print"zoois",zoo

new_zoo=('monkey','dolphin',zoo)

print"newzoois",new_zoo

print"Numberofanimalsinthenewzoois",len(new_zoo)

print"Allanimalsinnewzooare",new_zoo

print"Animalsbroughtfromoldzooare",new_zoo[2]

print"Lastanimalbroughtfromoldzoois",new_zoo[2][2]

#题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

count=0

foriinrange(1,5,1):

forjinrange(1,5):

forkinrange(1,5):

if(i!=j)and(i!=k)and(j!=k):

printi*100+j*10+k

count+=1

print">>>totalis",count

#题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

#程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

i=int(raw_input('净利润:'))

arr=[1000000,600000,400000,200000,100000,0]

rat=[0.01,0.015,0.03,0.05,0.075,0.1]

r=0

foridxinrange(0,6):

ifi>arr[idx]:

r+=(i-arr[idx])*rat[idx]

print(i-arr[idx])*rat[idx]

i=arr[idx]

printr

#题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?

#程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:

importmath

#iftype(math.sqrt(i+100))=='int'andtype(math.sqrt(i+268))=='int':

#printi

#i+=1

x=int(math.sqrt(i+100))

y=int(math.sqrt(i+268))

if(x*x==i+100)and(y*y==i+268):

printi

i+=1

ifcount==3:

#输入某年某月某日,判断这一天是这一年的第几天?

year=int(raw_input('请输入年:'))

month=int(raw_input('请输入月:'))

day=int(raw_input('请输入日:'))#肯定要考虑闰年

ifyear%400==0:

run=1

elifyear%4==0andyear%100!=0:

run=0

#首先先判断是不是闰年

a=[31,28+run,31,30,31,30,31,31,30,31,30,31]

days=0

foriinrange(len(a)):

ifi+1

days+=a[i]

days=days+day

printdays

#输入三个整数x,y,z,请把这三个数由小到大输出。

l=[]

foriinrange(3):

x=input("integeris:")

l.append(x)

l.sort()

printl

#多么完美的输出!beautiful!

#题目:斐波那契数列。

#程序分析:斐波那契数列(Fibonaccisequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34

f=[]

f.append(0)

f.append(1)

foriinrange(2,10):

#f[i]=f[i-2]+f[i-1]

f.append(f[i-2]+f[i-1])

printf[:]

有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;

要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。

#!/usr/bin/envpython

a=[1000,999,998,997,996,995]

b=[994,993,992,3,2,1]

#a=[3,8,11]

#b=[1,2,7]

x=y=0

min=abs((sum(a))-(sum(b)))

tag=1

#num=0

whiletag:

old=min

whilex

whiley

a[x],b[y]=b[y],a[x]

#num=num+1

tmp=abs((sum(a))-(sum(b)))

ifmin>tmp:

min=tmp

y=y+1

x=x+1

y=0

ifmin==old:

tag=0

printmin

#printnum

#题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

#defborn(pair,month=1):

#x=[1,1]

#ifmonth>=3:

#y=pair*2

#-----打算用递归做,failed

#count=0

#deftuzi(month):

#ifmonth==1ormonth==2:

#return1

#count+=1

#foriinrange(3,month+1):

#return1+tuzi(month-2)

#print(tuzi(8))

#-----answer

f1=1

f2=1

foriinrange(1,21):

print'%12ld%12ld'%(f1,f2),

if(i%3)==0:

f1=f1+f2

f2=f1+f2

#题目:判断101-200之间有多少个素数,并输出所有素数。

leap=1

foriinrange(2,20001):

forxinrange(2,int(math.sqrt(i)+1)):

ifi%x==0:

leap=0#是偶数就确定为0

ifleap==1:

printi,

#题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。。

foriinrange(100,1000):

x=i//100

y=i//10-10*x#这边采用取整的算法

z=i-100*x-10*y

ifx**3+y**3+z**3==i:

#题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

defreduceNum(n):

print'{}='.format(n),

ifnotisinstance(n,int)orn<=0:

print'请输入一个正确的数字!'

elifnin[1]:

print'{}'.format(n)

whilennotin[1]:#循环保证递归,除到最后n即为1,退出循环

forindexinxrange(2,n+1):

ifn%index==0:

n/=index#n等于n/index

ifn==1:

printindex

else:#index一定是素数

print'{}*'.format(index),

break#当找到一个因子后,跳出for循环,又从2开始找,所以永远是素数

reduceNum(input('Inputanumber:'))

#题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

s=raw_input('Inutsomething:')

char=0

space=0

digit=0

other=0

foriins:

ifi.isalpha():

char+=1

elifi.isspace():

space+=1

elifi.isdigit():

digit+=1

other+=1

print'char=%d,space=%d,digit=%d,other=%d'%(char,space,digit,other)

#题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

a=input('inputanumber:\n')

b=input('inputcounts:\n')

x=0#表示单个数字

foriinrange(1,b+1):#外循环计算各个数相加

forjinrange(i,0,-1):#内循环生成每个数

ifj==1:

x+=a

x+=a*10**(j-1)

j-=1

y+=x

x=0#这个数相加后清空,下个数重新生成

print'finalis',y

#题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

s=0

forxinrange(2,13):#这个算的是各个质因子之和

n=x

whilennotin[1]:

#print'indexis',index

s+=index

print'boforebreaknis%d,sis%d,indexis%d'%(n,s,index)

s=s+1

print'xis%d,sis%d'%(x,s)

ifs==x:

print'equal',s

forxinrange(2,1000):

a=[]

forindexinxrange(1,x):

ifx%index==0:

a.append(index)

#print"xis%d\n因子:%s"%(x,str(a))

ifx==sum(a):#数组里求和

print">>>>>>xis%d\n因子:%s"%(x,str(a))

#题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#defball_fantan(h,count):

#fantan=float(0)

#fantan=h/(2**count)

#returnfantan

#s=float(0)

#第k次反弹和第k+1次落地距离是一样的

#foriinrange(1,10):

#s+=ball_fantan(100,i)

#s=2*s+100

#print"共经过%d米,第10次反弹%d米"%(s,ball_fantan(100,10))

Sn=100.0

Hn=Sn/2

forninrange(2,11):

Sn+=2*Hn

Hn/=2

print'Totalofroadis%f'%Sn

print'Thetenthis%fmeter'%Hn

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断。

程序源代码:

x2=1

fordayinrange(9,0,-1):

x1=(x2+1)*2

x2=x1

printx1

以上实例输出结果为:

1534

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

foriinrange(ord('x'),ord('z')+1):

forjinrange(ord('x'),ord('z')+1):

ifi!=j:

forkinrange(ord('x'),ord('z')+1):

if(i!=k)and(j!=k):

if(i!=ord('x'))and(k!=ord('x'))and(k!=ord('z')):

print'orderisa--%s\tb--%s\tc--%s'%(chr(i),chr(j),chr(k))

orderisa--zb--xc--y

题目:打印出如下图案(菱形):

*

***

*****

*******

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

fromsysimportstdout

foriinrange(4):

forjinrange(2-i+1):

stdout.write('')

forkinrange(2*i+1):

stdout.write('*')

print

forjinrange(i+1):

forkinrange(4-2*i+1):

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

程序分析:请抓住分子与分母的变化规律。

方法一:

a=2.0

b=1.0

forninrange(1,21):

s+=a/b

t=a

a=a+b

b=t

方法二:

s=0.0

b,a=a,a+b

方法三:

l.append(a/b)

printreduce(lambdax,y:x+y,l)

32.6602607986

题目:求1+2!+3!+...+20!的和。

程序分析:此程序只是把累加变成了累乘。

n=0

t=1

t*=n

s+=t

print'1!+2!+3!+...+20!=%d'%s

l=range(1,21)

defop(x):

r=1

foriinrange(1,x+1):

r*=i

returnr

s=sum(map(op,l))

1!+2!+3!+...+20!=2561327494111820313

题目:利用递归方法求5!。

程序分析:递归公式:fn=fn_1*4!

deffact(j):

sum=0

ifj==0:

sum=1

sum=j*fact(j-1)

returnsum

print'%d!=%d'%(i,fact(i))

0!=1

1!=1

2!=2

3!=6

4!=24

题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

程序分析:无。

defoutput(s,l):

ifl==0:

return

print(s[l-1])

output(s,l-1)

s=raw_input('Inputastring:')

l=len(s)

output(s,l)

Inputastring:abcde

e

d

c

b

a

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

defage(n):

ifn==1:c=10

else:c=age(n-1)+2

returnc

printage(5)

18

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

程序分析:学会分解出每一位数。

x=int(raw_input("请输入一个数:\n"))

a=x/10000

b=x%10000/1000

c=x%1000/100

d=x%100/10

e=x%10

ifa!=0:

print"5位数:",e,d,c,b,a

elifb!=0:

print"4位数:",e,d,c,b,

elifc!=0:

print"3位数:",e,d,c

elifd!=0:

print"2位数:",e,d

print"1位数:",e

请输入一个数:

23459

5位数:95432

3472

4位数:2743

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

a=int(raw_input("请输入一个数字:\n"))

x=str(a)

flag=True

foriinrange(len(x)/2):

ifx[i]!=x[-i-1]:

flag=False

ifflag:

print"%d是一个回文数!"%a

print"%d不是一个回文数!"%a

请输入一个数字:

12321

12321是一个回文数!

sqdEvens=[x**2forxinrange(8)ifnotx%2]

多么简洁的代码!获取偶数的平方!

开启服务

C:\mysql-5.0.45-win32\bin>mysqld–console

关闭服务:

C:\mysql-5.0.45-win32\bin>mysqladmin-urootshutdown

连接到MySQL服务器:[mysql@db3~]$mysql-uroot–p

CREATEDATABASEdbname

查看数据库

mysql>showdatabases;

选择数据库

USEdbname

查看test1数据库中创建的所有数据表:mysql>showtables;

删除数据库的语法很简单,如下所示:dropdatabasedbname;

数据库的名字不可以改

在数据库中创建一张表的基本语法如下:CREATETABLEtablename(column_name_1column_type_1constraints,column_name_2column_type_2constraints,……column_name_ncolumn_type_nconstraints)

mysql>createtableemp(enamevarchar(10),hiredatedate,saldecimal(10,2),deptnoint(2));

查看一下表的定义,可以使用如下命令:DESCtablename

为了查看更全面的表定义信息,可以使用如下命令实现:mysql>showcreatetableemp\G;

表的删除命令如下:DROPTABLEtablename

ALTERTABLEtablenameMODIFY[COLUMN]column_definition[FIRST|AFTERcol_name]

mysql>altertableempmodifyenamevarchar(20);

ALTERTABLEtablenameADD[COLUMN]column_definition[FIRST|AFTERcol_name]

altertableempaddcolumnageint(3);

ALTERTABLEtablenameDROP[COLUMN]col_name

mysql>altertableempdropcolumnage;

ALTERTABLEtablenameCHANGE[COLUMN]old_col_namecolumn_definition[FIRST|AFTERcol_name]

mysql>altertableempchangeageage1int(4);

mysql>altertableempaddbirthdateafterename;

ALTERTABLEtablenameRENAME[TO]new_tablename

mysql>altertableemprenameemp1;

DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作。下面将依次对它们进行介绍。

INSERTINTOtablename(field1,field2,……fieldn)VALUES(value1,value2,……valuesn);

mysql>insertintoemp(ename,hiredate,sal,deptno)values('zzx1','2000-01-01','2000',1);

mysql>insertintoempvalues('lisa','2003-02-01','3000',2);

只对表中的ename和sal字段显式插入值:mysql>insertintoemp(ename,sal)values('dony',1000);

insert语句还有一个很好的特性,可以一次性插入多条记录,语法如下:INSERTINTOtablename(field1,field2,……fieldn)VALUES(record1_value1,record1_value2,……record1_valuesn),(record2_value1,record2_value2,……record2_valuesn),……(recordn_value1,recordn_value2,……recordn_valuesn);

mysql>insertintodeptvalues(5,'dept5'),(6,'dept6');

通过update命令进行更改,语法如下:UPDATEtablenameSETfield1=value1,field2.=value2,……fieldn=valuen[WHERECONDITION]将表emp中ename为“lisa”的薪水(sal)从3000更改为4000:mysql>updateempsetsal=4000whereename='lisa';

update命令可以同时更新多个表中数据,语法如下:UPDATEt1,t2…tnsett1.field1=expr1,tn.fieldn=exprn[WHERECONDITION]

mysql>updateempa,deptbseta.sal=a.sal*b.deptno,b.deptname=a.enamewhere

a.deptno=b.deptno;

两个表的数据同时进行了更新。

注意:多表更新的语法更多地用在了根据一个表的字段,来动态的更新另外一个表的字段

如果记录不再需要,可以用delete命令进行删除,语法如下:DELETEFROMtablename[WHERECONDITION]

在emp中将ename为‘dony’的记录全部删除,命令如下:mysql>deletefromempwhereename='dony';

mysql>deletea,bfromempa,deptbwherea.deptno=b.deptnoanda.deptno=3;

注意:不管是单表还是多表,不加where条件将会把表的所有记录删除,所以操作时一定要小心。

SELECT*FROMtablename[WHERECONDITION]

“*”表示要将所有的记录都选出来,也可以用逗号分割的所有字段来代替,例如,以下两个查询是等价的:

mysql>selectename,hiredate,sal,deptnofromemp;

有时需要将表中的记录去掉重复后显示出来,可以用distinct关键字来实现:mysql>selectename,hiredate,sal,deptnofromemp;

mysql>select*fromempwheredeptno=1;

上面的例子中,where后面的条件是一个字段的‘=’比较,除了‘=’外,还可以使用>、<、>=、<=、!=等比较运算符;多个条件之间还可以使用or、and等逻辑运算符进行多条件联合查询

用关键字ORDERBY来实现,语法如下:SELECT*FROMtablename[WHERECONDITION][ORDERBYfield1[DESC|ASC],field2[DESC|ASC],……fieldn[DESC|ASC]]

DESC表示按照字段进行降序排列,ASC则表示升序排列,如果不写此关键字默认是升序排列。

对于排序后的记录,如果希望只显示一部分,而不是全部,这时,就可以使用LIMIT关键字来实现,LIMIT的语法如下:SELECT……[LIMIToffset_start,row_count]

显示emp表中按照sal排序后的前3条记录:mysql>select*fromemporderbysallimit3;

聚合操作的语法如下:SELECT[field1,field2,……fieldn]fun_nameFROMtablename[WHEREwhere_contition][GROUPBYfield1,field2,……fieldn[WITHROLLUP]][HAVING-where_contition]

统计人数大于1人的部门:mysql>selectdeptno,count(1)fromempgroupbydeptnohavingcount(1)>1;

mysql>selectsum(sal),max(sal),min(sal)fromemp;

约束

主键约束

联合主键

已经存在数据,仍添加主键

删除主键

外键约束

A表和B表有同一列数据,A表设置成主键约束,B表才可以设置成外键约束

THE END
1.小兔子的画法和上色手把手教你画抱着萝卜的小兔子第一步,在纸左上角处画一个蝴蝶结,然后在蝴蝶结上面画出兔子的一只耳朵。 第二步,画出兔子圆圆的脑袋,然后在脑袋右侧画出另一只耳朵。 第三步,在兔子的脑袋中央画出兔子的眼睛和嘴巴,如图。 第四步,画出兔子的身体轮廓,右边的身体留一个缺口来画萝卜,然后再画出兔子的手和脚,姿势是坐姿。 第五步,画出http://m.15tql.com/zixun-553877/
2.小兔子大全小兔子大全怎么画?小兔子大全频道涵盖各种小兔子大全图片及小兔子大全素材供您参考,同时提供小兔子大全步骤分解图,让儿童轻松学习如何画小兔子大全.https://www.jianbihua.com/phototag/21332
3.兔子简笔画有哪些画法在圆形下方画出兔子的身体和尾巴,身体部分可以用两个圆润的三角形来表示,尾巴则是一根短短的线条。画出兔子的四肢,前肢较短,后肢较长。最后在脸部画出兔子的眼睛、鼻子和嘴巴,眼睛可以用两个小圆圈表示,鼻子则是一个更小的圆圈,嘴巴则是一条弯曲的线条。二、卡通画法 画出一个圆润的椭圆形作为兔子的头部https://baijiahao.baidu.com/s?id=1789768855533872886&wfr=spider&for=pc
4.素材一百种兔子的画法!你会几种?素材|一百种兔子的画法!你会几种? 兔子的寿命一般在5-12年,根据科学研究表明体型小的品种通常比体型大的品种具有更长的寿命。而且,后天生活环境优良、主人饲养管理健康的兔子,其寿命会更长。 兔子代表着温顺、可爱、狡猾、长寿、敏捷、机智、吉祥、警觉,还寓意着善良、积极。在其他国家的寓意则不同,在英国寓意着https://www.360doc.cn/article/37544972_1065685466.html
5.wysvn.wenyiit.com/kpf95091117.shtml裸身美女的小兔子好软水好多 国产最猛激情性AAAAA 75.04MB 2445好评 日本船空中小姐屁股高潮AAA 噜噜淫荡 最喜欢的母亲动漫 05.47MB 6162好评 妇情侣的100种做法图片 93.57MB 13%好评23人) 黄色污污污在线观看 一逼毛片 小鸟酱黑白双丝油滑 23.50MB 81%好评79人) Chinese偷看农妇BBw frehttp://wysvn.wenyiit.com/kpf95091117.shtml
6.www.gdsklife.com/yyys/955397.htm各种姿势玩小处雏女视频 两个大兔子抖来抖去的图片视频 98.18MB 42%好评99人) 无码午夜高清电影 黄片观看天堂 天堂AⅤ网 68.92MB 34%好评7862人) 久久午夜性动态试看 黑料社TTTZZZ入口2023 寡妇牝户又大又肥 82.07MB 17%好评2326人) 星空无限传媒国产剧xk8039 老婆好骚干得好爽小说 精人http://www.gdsklife.com/yyys/955397.htm
7.miaoji007.com/newxr38433263/26719499.htmv视界传媒 视频图片小说QVOD 免费又黄又爽又猛的毛片 带小雨伞和不带的感觉 男女暖暖暖交叉视频 亚洲自拍电影 HDXXXB 亚洲无码h 芒果100种芒果1000部禁止 性色AV自慰系列网站 gv软件 粉嫩学生娇躯迎合小说 幸福宝导航 月经来的久久久久久久 曰批高清120分钟免费观看 邪恶h 特黄AAAAAAAAA真人毛片 69http://miaoji007.com/newxr38433263/26719499.htm
8.100种兔子简笔画步骤图简笔画图片大全100种兔子简笔画步骤图简笔画兔子的画法步骤图片 小兔子简笔画怎么画 小兔子简笔画画法 小兔子简笔画的画法步骤教程怎么画简笔画教程 小白兔简笔画彩色 步骤6 兔子简笔画图片步骤教程 兔子简笔画步骤图 步骤七简单涂上颜色这样卡通小白兔简笔画就完成了 如何手工画思考的兔子简笔画 小兔子可爱简笔画的画法https://www.puchedu.cn/jianbihua/03268cd47faf38f6.html
9.xxappapi.yhryj.com/kpf91162507.shtml100岁特级毛片 24.88MB 72%好评12人) 国语淫片免费看 点击观看——福利——收藏永久看 1.少妇 小东西好几天没弄你了最新章节 48.66MB 19%好评5673人) 万达注册 雀7IIII2扣安稳 道袍中的巨大双乳lily 班主任的大兔子好软水视频免费 82.78MB 06%好评9076人) 妲己秘?黄漫免费网站 凸起的http://xxappapi.yhryj.com/kpf91162507.shtml
10.www.quinovare.com/xxxr84821217<!DOCTYPE/953149.htm就去干成人网 操范冰冰小骚穴 掀开奶罩边躁狠狠躁三p视频 兔子先生无码一级毛片 FreePorno32 一级a在线观看片 elitepain50鞭打vk 日本胖中年妇女黄色一级三级va换费在线 国产K丅V交换配乱婬视小说 舌l子伦熟妇Αv 纲手?乳喷自慰爽免费观看 三级成人直播免费看 揉?啊?嗯~出水了男同 http://www.quinovare.com/xxxr84821217%3C!DOCTYPE/953149.htm
11.www.zjic.com.cn/xxxr37402497.shtml小骚逼被爽了 男人天堂亚洲图片色猫咪 48.42MB 99好评 一区两区三区免费视频 久久大鸡巴能视频兔子洞成人版网站 32.93MB 34好评 拉风色中色 分分秒农村生活片i字母老太太老太太老太太大黄蜂 《女孩子脱衣的画法》在线免费观看 32.72MB 62%好评748人) 亚洲美女搞鸡 FreeXXX性欧美HD16 http://www.zjic.com.cn/xxxr37402497.shtml
12.兔子简笔画图片大全小白兔简笔画图片宜城教育资源网www.ychedu.com兔子简笔画图片大全_小白兔简笔画图片_100种动物简笔画步骤图兔子简笔画图片一、简笔画在小学英语教学中起重要作用的原因(一)、教学简笔画的概念简笔画(StickFigures)是一种直观的教具。在教学过程中,迅速地用简单几笔线条所描绘的画面叫做教学简笔画,是用来表达教学思想的形象符号http://qt.ychedu.com/QTZY/600109.html
13.www.yisuli.com/mokslip19283.htmlwww.yisuli.com/mokslip19283.html 此次义诊活动,为公众提供了便捷的医疗服务,增强了公众对糖尿病的认识,科学管理血糖,助力健康生活,受到群众一致好评。 12月13日电 据日本新闻网13日消息,中国国家海洋局所属的一架巡逻机,今日上午进入钓鱼岛空域。针对日本海上保安厅巡视船的无线“警告”,这架巡逻机的飞行员回答http://www.yisuli.com/mokslip19283.html
14.fatadmin.famliy.top/mmmj71828227美国男的和女的上床日逼 黄色小视频精品在线观看视频 国内一级一片内射免费观看视频 小兔子乖乖日本视频在线观看 美女裸体射精自慰网站 棚区户勇猛农民工 罗马尼亚少妇内射 特级黄色毛片在线免费观看 二对夫妇在一个房间换交 丁丁黄一baby 打扑克全程去掉马赛克 3d扶他大鸡巴 奶一被揉和吸就想挺起来怎么回事http://fatadmin.famliy.top/mmmj71828227
15.jiangxiabao.whjxtv.cn/mmmj06402801/891719.htm老师你的兔子好软水好多游戏 小满乳液狂飙奖励自己一发 22.77MB 0804好评 花季一天三次ok 黄sei网站有哪些 娱乐天地平台德711.112扣 973.27MB 9170自W到高C的50种图片教程 解锁开啪姿势(NP高H) 五五月影色老汉视頻伦伦小小说 036.95MB 2992好评 白丝校花扒腿自慰网站 欧美性爱AⅤ miru无码在http://jiangxiabao.whjxtv.cn/mmmj06402801/891719.htm
16.beijingchengzhi.com/mmmj53784667.html扯开衣服两只小兔子跳出来是 久久大香萑太香蕉av 宝宝只想1v1 麻豆AV色婷婷 一级片黄色视频 禁止18岁以下观看强奸无套射精电视 欧美美女激情淫妇 小sb是不是又欠c了若若 国产情侣在线视频 浓毛老太:BBWBBWBBW图片 久久久aaa 日本论理黄色三级片一区二区三区 欧美色18ZZZZXXXXX 吻戏AV专区免费观看 国https://beijingchengzhi.com/mmmj53784667.html
17.卡通小兔子简笔画图片小兔子的可爱画法卡通小兔子简笔画图片 小兔子的可爱画法 1、先画出兔子的耳朵。 2、画出头部和萝卜。 3、画出小兔子身体的部分。 4、最后涂上颜色就可以啦。https://m.tianqi.com/toutiao/jiaoyu/56602.html
18.www.szjjled.com/yyys39335494.htm男朋友老是吸我的小兔子图片 操逼秘 人人妻人人玩人人爽 香蕉大视频一二三区乱码 插逼逼视频软件 麻豆一二三精品 丝瓜视频未满十八严禁 美女露出撒尿的部位 国产AV无码星空传媒最新 特A毛片 亚洲嫩女生aV 品色堂 永远免费 港澳av网站 日本人做到喷泉 日韩强上少妇内射视频免费体验 AV岛http://www.szjjled.com/yyys39335494.htm
19.juntengtech.cn/newxr18583698/juntengtech.cn/newxr18583698/久久黄色小,视频 国产偷自拍 极品逼逼 19.73MB 447好评 老翁和媳妇同房小说免费阅读 久久综合网丁香五月婷婷 污色网站 92.28MB 494好评 貂蝉的两只兔子好软水好多 wwwwww被轮流出水视频网站 swag吴梦梦 48.56MB 906好评 亚洲视频天堂 美女露胸100%无遮挡奶头网页 lutube线路检测入口 52.18MB http://juntengtech.cn/newxr18583698/juntengtech.cn/newxr18583698/
20.www.scmc美国一集片XXXX操 老师的小兔子好大视频 欧美日韩三级三级黄片 男生操女生的免费的网站 免费看黄色视频来 免费操逼网站 穿越传家开始小说免费阅读 东方无码 美女午夜污污 小XXxHDV 黑硬粗长腐书网 免费一级裸片 亚洲最新乱伦淫秽网址 最终痴汉电车百度云资源 日本一区不卡 呦小泬哟哟精品 人与动物Zoohttp://www.scmc-xa.com/xxxr831224
21.奔跑的卡通小白兔画法可爱兔子简笔画图片哈喽,小可爱们~今天我们一起来学习如何画一只奔跑的卡通小白兔吧!我们见过的现实中的兔子都是四只脚着地着奔跑的,而卡通形象中的小兔子,有些是直立奔跑的,具有人类的一些特征,比如我们今天要画的这一只。现在让我们来看看具体怎么画吧。 奔跑小兔子卡通画法_小白兔简笔画图片 https://www.qqscb.com/xiaobaitu/5027.html
22.小白兔最简单的画法卡通兔子简笔画步骤图片大全简笔画简笔画不仅仅是一门艺术,也是一座让家长朋友们走近孩子、真正读懂孩子的内心世界的桥梁。下面分享一组小白兔最简单的画法 卡通兔子简笔画步骤图片大全,我们一起欣赏下吧。https://www.027art.com/shaoer/2022/18496455.html
23.www.pseinu.cn/xxxr482975.shtml音乐老师的兔子弹弹的樱花 色偷拍色五月 狂野欧美性猛交XXXXX老人 鸭王黄色片 欧美做性爱乱伦真实 靠逼网站下载尻逼黄色电影靠逼黄色靠逼网站 亚洲一级黄录相片 粉嫩小泬没有毛a?v少 思思影视传媒有限公司 XXXⅩ高清丰满HD 黄色网站app软件下载大全免费安装 欧美视频在线免费 久久艳舞 日肥女 AAAAAhttps://www.pseinu.cn/xxxr482975.shtml
24.www.jxmzxx.com{$woaini}>www.jxmzxx.com{$woaini}她身穿简单的休闲服装,身高已经接近妈妈鲍蕾,修长的双腿格外引人注目。许多网友纷纷感叹,贝儿已经从当年那个稚嫩的小女孩,逐渐长成了亭亭玉立的少女。她不仅拥有天生的好基因,举手投足之间更显露出一种自信与优雅,俨然像一个小模特。而她的妹妹虽然年纪尚小,但已经展现出同样的长腿基因,未来的身材发展也备受期待。http://www.jxmzxx.com/appnews8255426