實驗樓python3學習挑戰專案

2021-08-18 06:28:17 字數 3022 閱讀 3687

在實驗樓學習python3做的挑戰專案做的**整理。

能夠計算出乙個半徑為2的圓的面積,並且把面積列印出來,保留小數點後10位。

不要使用 input 等方法獲得輸入,程式不需要輸入任何引數,可以使用 python3 circlearea.py 執行,並直接輸出 半徑為2 的圓的面積數字。

#!/usr/bin/env python3

import math

r=2print("".format(math.pi*r**2))

#!/usr/bin/env python3

import math

r=float(input("enter the r: "))

print("".format(math.pi*r**2))

建立乙個 名為 finddigits.py 的python 指令碼,請讀取一串字串並且把其中所有的數字組成乙個新的字串,並且列印出來。我們提供的字串可以通過在命令列中輸入如下**來獲取。

#!/usr/bin/env python3

file=open('/home/shiyanlou/code/string.txt')

str_file-file.read()

num=""

for i in range(len(str_file)):

if str_file[i].isdigit():

num+=str_file[i]

print("%s"%num)

實現乙個函式 hours(),將使用者輸入的 分鐘數 轉化為 小時數和分鐘數,並要求小時數盡量大。講結果以 xx h, xx m 的形式列印出來。(注意列印格式中的空格)

要求

#!/usr/bin/env python3

import sys

defhours

(num):

hour=int(num/60)

minute=int(num%60)

print(hour,"h,",minute,"m")

if len(sys.argv)<2:

sys.exit(1)

else:

if int(sys.argv[1])<0:

try:

except valueerror:

print("valueerror: input number cannot be negative")

else:

hours(int(sys.argv[1]))

改寫我們在第11節類這個模組當中 2.3 繼承 部分的 student_teacher.py 指令碼,在person()類中增添函式get_grade()。對於教師類,該函式可以自動統計出老師班上學生的得分情況並按照頻率的高低以a: x, b: x, c: x, d: x 的形式列印出來。對於學生類,該函式則可以以pass: x, fail: x 來統計自己的成績情況(a,b,c 為 pass, 如果得了 d 就認為是 fail)。

student_teacher.py 檔案可以通過在xfce 終端中輸入如下**來獲取

wget 

.aliyuncs

.com/courses/790/student_teacher.py

要求

#!/usr/bin/env python3

import sys

from collections import counter

class

person

(object):

def__init__

(self, name):

self.name = name

defget_details

(self):

return self.name

defget_grade

(self,grade):

if self.name=='teacher':

list=counter(grade).most_common()

item=["{}:{}".format(x,y) for x,y in list]

return

','.join(item)

elif self.name=='student':

return

"pass:{},fail:{}".format(len(grade)-grade.count("d"),grade.count("d"))

class

student

(person):

def__init__

(self, name, branch, year):

person.__init__(self, name)

self.branch = branch

self.year = year

defget_details

(self):

return

"{} studies {} and is in {} year.".format(self.name, self.branch, self.year)

class

teacher

(person):

def__init__

(self, name, *****s):

person.__init__(self, name)

self.*****s = *****s

defget_details

(self):

return

"{} teaches {}".format(self.name, ','.join(self.*****s))

if __name__=='__main__':

if len(sys.argv)<2:

sys.exit(-1)

else:

person=person(sys.argv[1])

print(person.get_grade(sys.argv[2]))

python3簡明教程 實驗樓 迴圈

實驗知識點 while 迴圈 print 函式的 end 引數 列表索引 切片for 迴圈 range 函式 continue 關鍵字 for 迴圈中的 else 關鍵字 e x的函式編碼 乘法表 列表 python 能夠優雅地處理那些沒有意義的切片索引 乙個過大的索引值 即大於列表實際長度 將被列...

挑戰 備份日誌 實驗樓

備份日誌 小明是乙個伺服器管理員,他需要每天備份論壇資料 這裡我們用日誌替代 備份當天的日誌並刪除之前的日誌。而且備份之後檔名是年 月 日的格式。alternatives.log在 var log 下面。目標 為shiyanlou使用者新增計畫任務 每天凌晨3點的時候定時備份alternatives...

實驗樓學習小記

linux基本操作總結圖 python基礎型別和基本語法 python的流程控制 python類基礎 class student object init 是乙個特殊方法用於在建立物件時進行初始化操作 通過這個方法我們可以為學生物件繫結name 和 age兩個屬性 def init self,name...