Python的一些小练习
作业一:
利用*字典*输出目录,可以选择目录进入,可以回退、退出!
<span style="color: #808080; font-style: italic">#conding:utf8<span style="color: #000080; font-weight: bold"><br><br><br>menu = {<span style="color: #008080; font-weight: bold">'北京':{<span style="color: #008080; font-weight: bold">'昌平':{<span style="color: #008080; font-weight: bold">'沙河':{<span style="color: #008080; font-weight: bold">'昌平妇幼',}},<span style="color: #008080; font-weight: bold">'海淀':{<span style="color: #008080; font-weight: bold">'海淀一区':{<span style="color: #008080; font-weight: bold">'海淀二区'},}},} <span style="color: #808080; font-style: italic">#字典嵌套<br><span style="color: #808080; font-style: italic"><br>current_layer = menu <span style="color: #808080; font-style: italic">#利用此变量来记录当前的层的位置<br>pre_menu = [] <span style="color: #808080; font-style: italic">#用【】来记录每一层<br><span style="color: #808080; font-style: italic"><br><span style="color: #000080; font-weight: bold">while True:<br><span style="color: #000080; font-weight: bold">for k <span style="color: #000080; font-weight: bold">in current_layer:<br><span style="color: #000080">print (k)<br> choice = <span style="color: #000080">input(<span style="color: #008080; font-weight: bold">'>>>>>>>:').strip() <span style="color: #808080; font-style: italic">#去除输入选项连边的空格<br><span style="color: #808080; font-style: italic"> <span style="color: #000080; font-weight: bold">if <span style="color: #000080">len(choice) == <span style="color: #0000ff">0: <span style="color: #808080; font-style: italic">#通过len的长度来判断用户是否输入了<br><span style="color: #808080; font-style: italic"> <span style="color: #000080; font-weight: bold">continue<br><span style="color: #000080; font-weight: bold"><br><span style="color: #000080; font-weight: bold"> if choice <span style="color: #000080; font-weight: bold">in current_layer:<br> pre_menu.append(current_layer)<br> current_layer = current_layer[choice]<br><span style="color: #000080; font-weight: bold">elif choice == <span style="color: #008080; font-weight: bold">'b':<br><span style="color: #000080; font-weight: bold">if <span style="color: #000080">len(pre_menu) > <span style="color: #0000ff">0: <span style="color: #808080; font-style: italic">#通过大于0 来判断,还有目录可退<br><span style="color: #808080; font-style: italic"> current_layer = pre_menu.pop() <span style="color: #808080; font-style: italic">#利用pop来弹出上面的一层。<br><span style="color: #808080; font-style: italic"> <span style="color: #000080; font-weight: bold">elif choice == <span style="color: #008080; font-weight: bold">'q':<br><span style="color: #000080">exit()</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> Salin selepas log masuk |
作业二
list的小练习:实现购物车功能
product_list = [[ Salin selepas log masuk |
作业三
冒泡算法小练习
a_list = [ Salin selepas log masuk Salin selepas log masuk |
作业四
插入算法小练习
实现方法一:
a_list = [ Salin selepas log masuk Salin selepas log masuk |
实现方法二:
arr1 = [ Salin selepas log masuk |
做业五
打印99乘法表
#! /usr/bin/python
# Filename : table_9x9.py
print '\n9x9 Table\n'
for i in range(1, 10) :
for j in range(1, i+1) :
print j, 'x', i, '=', j*i, '\t',
# print '%d x %d = %d\t' %(j, i, j*i),
print '\n'
print '\nDone!'
关于该程序的说明:
1. 第一行是特殊注释行,称为组织行,用来告诉GNU/Linux系统应该使用哪个解释器来执行该程序。
2. 第二行至第四行都是一般的注释行,用来说明一些信息的(如文件名,作者,时间等)。
3. 第六行打印一个字符串。
4. 第八行i取值范围为1, 2, 3, 4, 5, 6, 7, 8, 9
5. 第九行j取值范围为1, 2, ..., i
6. 第十行和第十一行效果一样,最后的逗号都是用来取消自动换行的。
7. 第十二行作用是在每个内层for循环结束后换行,即在输出完九九乘法表一行后换行。
8. 第十四行打印一个字符串。
小结:通过这个程序熟悉print的用法,for循环的用法,以及range函数的特点。
|
课堂中提到的方法:
for i in range(1,10):<br> output = ''<br> for j in range(1,i+1):<br> output+= "%s*%s=%2s "%(i,j,i*j)<br> print output
---------------------------------------------------
作业六:
取一个列表中前两位大的数字
<br> Salin selepas log masuk #!/usr/bin/python<br><br>NumList = [1,2,3,2,12,3,1,3,21,2,2,3,4111,22,3333,444,111,4,5,777,4222,46,33,45,65555]<br><br>max_num = 0<br>sec_num = 0<br><br>for n in NumList:<br>if max_num < n: Salin selepas log masuk <br> Salin selepas log masuk |
利用单循环来同事去除两个两个数。
作业七
二分查找法(利用递归函数)
num_list = [ Salin selepas log masuk |
作业八
利用函数完成用户的注册登录功能
#!/usr/bin/python<br>#encoding: utf-8
import getpass
user_list = {}
def new_user():<br> username = raw_input('please input your new name:')<br> if username in user_list:<br> print '%s is already exits!!' %username<br> else:<br> passwd = getpass.getpass() #已密码不显示的方式输入。<br> user_list[username] = passwd
def old_user():<br> username = raw_input('please input your name:')<br> passwd = raw_input('please input your passwd:')<br> if username in user_list:<br> if user_list[username] == passwd:<br> print 'login successfull!!'<br> else:<br> print 'login fail!!'<br> else:<br> print 'login fail!!!'
CMD = {'n' : new_user , 'o' : old_user}
def main_menu():<br> ppp = '''<br> 新用户注册:n<br> 老用户登录:o<br> 推出:q
'''<br> while True:<br> try:<br> choice = raw_input(ppp)<br> except (KeyboardInterrupt, EOFError): #捕捉ctrl+ D 的错误输出。<br> choice = 'q'
if choice not in 'noq':<br> print 'please input again'<br> continue<br> if choice == 'q':<br> break<br> CMD[choice]() #通过取字典的key,选择来执行函数
if __name__ == '__main__':<br> main_menu()
作业九 |
log日志前十排序,其中包括重复的。利用函数简单的html输出
#!/usr/bin/python #coding:utf8 def openFile(log): with open(log) as f: content = f.readlines() return content def countLine(fn): content = fn count_dict = {} for line in content: line = line.split(' ') # string 通过split 转换为list local_ip,uri,code = line[0],line[6],line[8]
#利用元组来作为key,然后统计数量
count_dict[(local_ip,uri,code)] = count_dict.get((local_ip,uri,code),0) + 1
#这个排序的功能网上copy的,不了解原理
count_dict = sorted(count_dict.items() ,key=lambda item:item[1],reverse=True) return count_dict def detailLine(fn): count_dict = fn #下面进行重复行计数为一行。 n = 1 #取行计数 num = 0 #用于判断'统计数量'是否出现一样的 # print ('-----IP------------------URI----------CODE---count---') # for i in count_dict: # if n <= 10: # 取前十 # if i[1] != num: # print('%-10s%20s%5s%10s ---->no%s' % (i[0][0], i[0][1], i[0][2], i[1], n)) # num = i[1] # n += 1 # elif i[1] == num: # print('%-10s%20s%5s%10s' % (i[0][0], i[0][1], i[0][2], i[1])) with open('count.html','w') as f: res = "<table border='1'>" res += '<tr><td>IP</td><td>URI</td><td>CODE</td><td>COUNT</td></tr>' for i in count_dict: if n <= 10: if i[1] != num: res += '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>'% (i[0][0], i[0][1], i[0][2], i[1]) num = i[1] n += 1 elif i[1] == num: res += '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>' % (i[0][0], i[0][1], i[0][2], i[1]) res +='</table>' f.write(res) def main(): first = openFile('access.log') second = countLine(first) detailLine(second) if __name__ == '__main__': main()
作业十, |
生成随机验证码:
方法一: import string,random source = string.digits + string.ascio_lowercase print ("".join(random.sample(source,6))) 方法二: checkcode = '' for i in range(6): current = random.randrange(0,6) if current != i: temp = chr(random.randint(65,90)) else: temp = random.randint(0-9) checkcode += str(temp) print(checkcode)
Atas ialah kandungan terperinci Python的一些小练习. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Untuk menjalankan kod python dalam teks luhur, anda perlu memasang plug-in python terlebih dahulu, kemudian buat fail .py dan tulis kod itu, dan akhirnya tekan Ctrl B untuk menjalankan kod, dan output akan dipaparkan dalam konsol.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Golang lebih baik daripada Python dari segi prestasi dan skalabiliti. 1) Ciri-ciri jenis kompilasi Golang dan model konkurensi yang cekap menjadikannya berfungsi dengan baik dalam senario konvensional yang tinggi. 2) Python, sebagai bahasa yang ditafsirkan, melaksanakan perlahan -lahan, tetapi dapat mengoptimumkan prestasi melalui alat seperti Cython.

Kod penulisan dalam Kod Visual Studio (VSCode) adalah mudah dan mudah digunakan. Hanya pasang VSCode, buat projek, pilih bahasa, buat fail, tulis kod, simpan dan jalankannya. Kelebihan vscode termasuk sumber lintas platform, bebas dan terbuka, ciri-ciri yang kuat, sambungan yang kaya, dan ringan dan cepat.

Running Python Code di Notepad memerlukan Python Executable dan NPPExec plug-in untuk dipasang. Selepas memasang Python dan menambahkan laluannya, konfigurasikan perintah "python" dan parameter "{current_directory} {file_name}" dalam plug-in nppexec untuk menjalankan kod python melalui kunci pintasan "f6" dalam notepad.
