Python學習第三天的課后作業
第一題:天天向上(周一到周五進步0.01,周末退步0.01程序)
程序代碼如下:
base = 1
factory = 0.01
# 周一到周五進步0.01 周六周日退步0.01
for i in range(365):
if i%7 == 6 or i%7 == 0:
base *= (1-0.01)
else:
base *= (1+factory)
# 一年進步這么多
print(base)
運行結果:
4.626500529730141
第二題:文本進度條(終極版)
程序代碼如下:
# 大致樣式是這樣的:0 %[->..........] 1.03s
import time
start1 = '進度條開始執行'
print(f'{start1:-^20}')
scale = 100
start_time = time.perf_counter()
for i in range(scale+1):
print(f'\r{i:^4.1f}% [{"*"*i}->{"."*(scale-i)}] {time.process_time()-start_time:.2f}s',end='')
time.sleep(0.1)
print(f'\n{"進度條執行結束":-^20}')
運行結果:
------進度條開始執行-------
100.0% [****************************************************************************************************->] 0.03s
------進度條執行結束-------
第三題:獲得用戶輸入的一個整數a,計算a的平方根,保留小數點后3位,並打印輸出。輸出結果采用寬度30個字符、右對齊輸出、多余字符采用加號(+)填充。如果結果超過30個字符,則以結果寬度為准。
示例:輸入:10 ,輸出:+++++++++++++++++++++++++3.162
具體代碼如下:
a = input("請輸入一個整數:")
# 得到保留三位之后的開平方結果值
b = round(pow(int(a),0.5),3)
# 判斷結果是否大於30個字符
if len(str(b))>30:
print(b)
else:
print(f'{b:+>30}')
運行結果:
請輸入一個整數:17
+++++++++++++++++++++++++4.123
第四題:獲得輸入的一個字符串s,以字符減號(-)分割s,將其中首尾兩段用加號(+)組合后輸出。
示例:輸入:Alice-Bob-Charis-David-Eric-Flurry,輸出:Alice+Flurry
具體代碼如下:
s = input("請輸入一串字符串中間用-分割開來:")
num = len(s)
strl = ''
for i in range(num):
if s[i]=='-':
a = s[:i]
strl+=a+'+'
elif s[-i]=='-':
b = s[-i+1:]
strl+=b
break
print(strl)
運行結果:
請輸入一串字符串中間用-分割開來:Alice-Bob-Charis-David-Eric-Flurry
Alice+Flurry