Some small exercises in Python
Jun 21, 2017 pm 03:22 PM# 作 1 :
## Use to use the*dictionary*output directory, you can select the directory to enter , you can go back and exit!
product_list = [[
Assignment 3 |
a_list = [
Implementation method one:
##a_list = [
Implementation method two
:## |
做业五
打印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> Copy after login #!/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: Copy after login <br> Copy after login |
利用单循环来同事去除两个两个数。
作业七
二分查找法(利用递归函数)
num_list = [ Copy after login |
作业八
利用函数完成用户的注册登录功能
#!/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)
The above is the detailed content of Some small exercises in Python. For more information, please follow other related articles on the PHP Chinese website!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

What are the advantages and disadvantages of templating?

Google AI announces Gemini 1.5 Pro and Gemma 2 for developers

For only $250, Hugging Face's technical director teaches you how to fine-tune Llama 3 step by step

A complete guide to golang function debugging and analysis

Share several .NET open source AI and LLM related project frameworks
