嵩天-Python语言程序设计程序题--第三周:基本数据类型
前言:嵩天老師的《Python語言程序設計課程》被評為國家精品課程,在幕課上累計超過11萬學員,里面的習題對初學者入門Python,提高編程實戰(zhàn)能力很有幫助。因此,我想把自己學習這門課程作業(yè)分享出來,大家一起學習交流
目錄
實例3:天天向上的力量
描述
輸出
實例4:文本進度條
描述
輸出
三次方格式化
描述
輸入輸出示例
星號三角形
描述
輸入輸出示例
愷撒密碼
描述
輸入
輸出
平方根格式化
描述
輸入輸出示例
字符串分段組合
描述
輸入輸出示例
實例3:天天向上的力量
??????????????????????????????????????????????????????????????????????????????????????????????
描述
這是"實例"題,與課上講解實例相同,請作答檢驗學習效果。????????????????????????????????????????????????????????????????????????????????????????????????
工作日模式要努力到什么水平,才能與每天努力1%一樣?????????????????????????????????????????????????????????????????????????????????????????????????
-A君: 一年365天,每天進步1%,不停歇?????????????????????????????????????????????????????????????????????????????????????????????????
-B君: 一年365天,每周工作5天休息2天,休息日下降1% ,要多努力呢?????????????????????????????????????????????????????????????????????????????????????????????????
每周工作5天休息2天,計算工作日的努力參數(shù)是多少才能與每天努力1%一樣。????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????要求如下:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
(1) ????????????????????????????????一年365天,以第0天的能力值為基數(shù),記為1.0;????????????????????????????????????????????????????????????????????????????????????????????????
(2) ????????????????????????????????當好好學習時,能力值相比前一天提高1%;當沒有學習時,由于遺忘等原因能力值相比前一天下降1%;?
輸出
輸出結果格式如下:(其中結果保留小數(shù)點后三位,冒號后有一個空格)????????????????????????????????????????????????????????????????????????????????????????????????
工作日的努力參數(shù)是: 0.019
def dayUP(df):dayup = 1for i in range(365):if i % 7 in [6,0]:dayup = dayup*(1 - 0.01)else:dayup = dayup*(1 + df)return dayup dayfactor = 0.01 while dayUP(dayfactor) < 37.78:dayfactor += 0.001 print("工作日的努力參數(shù)是: {:.3f}".format(dayfactor))實例4:文本進度條
?????????????????????????????????????????????????????????????????????????????????????????????????
描述
這是"實例"題,與課上講解實例相同,請作答檢驗學習效果。????????????????????????????????????????????????????????????????????????????????????????????????
采用字符串方式打印可以動態(tài)變化的文本進度條????????????????????????????????,進度條需要能在一行中逐漸變化????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????
要求如下:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
(1) 采用sleep()模擬一個持續(xù)的進度,獲得文本進度條的變化時間;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
(2) 通過print()函數(shù)實現(xiàn)單行動態(tài)刷新,在print()函數(shù)中更換參數(shù)end的默認值為'',每次使用print()函數(shù)輸出時不能換行;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
(3) 要能回退:打印后光標到之前的位置 \r。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
請在Windows的命令行(cmd或PowerShell)或其他操作系統(tǒng)的命令行下執(zhí)行Python程序,獲得進度條效果。????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
輸出
import time scale = 50 print("執(zhí)行開始".center(scale//2, "-")) start = time.perf_counter() for i in range(scale+1):a = '*' * ib = '.' * (scale - i)c = (i/scale)*100dur = time.perf_counter() - startprint("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')time.sleep(0.1) print("\n"+"執(zhí)行結束".center(scale//2,'-'))三次方格式化
描述
獲得用戶輸入的一個數(shù)字,可能是整數(shù)或浮點數(shù),a,計算a的三次方值,并打印輸出。????????????????????????????????????????????????????????????????????????????????????????????????
輸出結果采用寬度20個字符、居中輸出、多余字符采用減號(-)填充。????????????????????????????????????????????????????????????????????????????????????????????????
如果結果超過20個字符,則以結果寬度為準。????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
輸入輸出示例
| ? | 輸入 | 輸出 |
| 示例 1 | 10 | --------1000-------- |
星號三角形
描述
讀入一個整數(shù)N,N是奇數(shù),輸出由星號字符組成的等邊三角形,要求:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
第1行1個星號,第2行3個星號,第3行5個星號,依次類推,最后一行共N的星號。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
輸入輸出示例
| ? | 輸入 | 輸出 |
| 示例 1 | 3 | ?*? ***???????????????????????????????? |
愷撒密碼
?????????????????????????????????????????????????????????????????????????????????????????????????
描述
愷撒密碼是古羅馬愷撒大帝用來對軍事情報進行加解密的算法,它采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列中該字符后面的第三個字符,即,字母表的對應關系如下:????????????????????????????????????????????????????????????????????????????????????????????????
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z????????????????????????????????????????????????????????????????????????????????????????????????
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z?A B C????????????????????????????????????????????????????????????????????????????????????????????????
對于原文字符P,其密文字符C滿足如下條件:C=(P+3) mod 26????????????????????????????????????????????????????????????????????????????????????????????????
上述是凱撒密碼的加密方法,解密方法反之,即:P=(C-3) mod 26????????????????????????????????????????????????????????????????????????????????????????????????
假設用戶可能使用的輸入包含大小寫字母a~zA~Z、空格和特殊符號,請編寫一個程序,對輸入字符串進行愷撒密碼加密,直接輸出結果,其中空格不用進行加密處理。使用input()獲得輸入。????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
輸入
示例1: python is good????????????????????????????????????????????????????????????????????????????????????????????????
輸出
示例1: sbwkrq lv jrrg????????????????????????????????????????????????????????????????????????????????????????????????
# test5 通過字典來解決加密解密的問題(可能課程到現(xiàn)在還沒有學習字典的用法,但字典的確是一種更一般化的思路) str_a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' str_b = str_a.lower() # 將str_a轉化為小寫字母def key_dict(str): list_key = list(str)list_value = list_key[3:] + list_key[0:3]key_dict = dict(zip(list_key,list_value))return key_dictkey_dict = {**key_dict(str_a),**key_dict(str_b)} # 大小寫密碼合并組成一個新的字典a = input() for i in range(len(a)):if a[i] in key_dict.keys():print(key_dict[a[i]],end="") else:print(a[i],end="")平方根格式化
描述
獲得用戶輸入的一個整數(shù)a,計算a的平方根,保留小數(shù)點后3位,并打印輸出。????????????????????????????????????????????????????????????????????????????????????????????????
輸出結果采用寬度30個字符、右對齊輸出、多余字符采用加號(+)填充。????????????????????????????????????????????????????????????????????????????????????????????????
如果結果超過30個字符,則以結果寬度為準。????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
輸入輸出示例
| ? | 輸入 | 輸出 |
| 示例 1 | 10 | +++++++++++++++++++++++++3.162 |
字符串分段組合
描述
獲得輸入的一個字符串s,以字符減號(-)分割s,將其中首尾兩段用加號(+)組合后輸出。????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????
輸入輸出示例
| ? | 輸入 | 輸出 |
| 示例 1 | Alice-Bob-Charis-David-Eric-Flurry | Alice+Flurry |
?
總結
以上是生活随笔為你收集整理的嵩天-Python语言程序设计程序题--第三周:基本数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔兽世界怀旧服元素空气在哪掉落 元素空气
- 下一篇: 《QQ御剑天涯》宠物攻略 1-7档宠物详