2.1溫度轉換程式。
**如下:
t=input("知識點整理:請輸入帶符號的溫度值(如:32c):")
if t[-1] in ["
c","c"
]: f=1.8*float(t[0:-1])+32
print("
轉換後的溫度為:%.0ff
"%f)
elif t[-1] in ["
f","f"
]: c=(float(t[0:-1])-32)/1.8
print("
轉換後的溫度為:%.0fc
"%c)
else
:
print("
輸入錯誤!
")
1.t[-1]表示取輸入值的倒數第乙個元素,此處是取最後乙個字元(
c/c/f/f
)。2.t[0:-1]表示第乙個元素到倒數第二個元素的切片,簡單的說,就是表示除最後乙個字元以外的字串。
3.%.0f表示取整,
%f指輸出變數
f。執行結果:
上面可以看到,只輸入數字會顯示錯誤,而只輸入符號會怎麼樣呢?讓我們試著輸入乙個符號,結果顯示如下。
出錯的原因是無法將字元型變數轉換為浮點型float,因此無法進行計算。
現修改例項2.1,採用
eval(input(<
提示內容
>))
替換現有輸入部分,並使輸出的溫度值為整數。
**如下:
t = eval(input('執行結果:請輸入溫度值(無單位):'))
d = input('
請輸入單位:')
if d in ['
f', 'f'
]: c = (t - 32)/1.8
print('
轉換後的溫度為:c
'.format(c))
elif d in ['
c', 'c'
]: f = 1.8*t + 32
print('
轉換後的溫度為:f
'.format(f))
else
:
print('
輸入錯誤!
')
2.2匯率兌換程式。按照溫度轉換程式的設計思路,按照1美元
=6人民幣匯率編寫乙個美元和人民幣的雙向兌換程式。
**如下:
t=input("知識點整理:請輸入帶單位的金錢數(如30¥):")
if t[-1] in ["¥"
]: m=eval(t[:-1])/6
print("
兌換後為:$
".format(m))
elif t[-1] in ["$"
]: r=6*eval(t[:-1])
print("
兌換後為:¥
".format(r))
else
:
print("
輸入錯誤!
")
1.eval(字串
>)
函式能夠以
python
表示式的方式解析並執行字串,並將返回結果輸出。
2.python語言中,字串通過
format()
方法進行格式化處理。
format方法的基本使用格式如下:
.format(<
逗號分隔的引數
>)
print("{}".format(m)),其中{}輸出的是
m的值。
執行結果:
4.4猜數遊戲。
**如下:
import知識點整理:random
w=0#
定義w並初始化
p=random.randint(0,100)
n=0while w!=p:
n+=1
#這句不能單獨拿出while迴圈外,否則會無限迴圈
w=int(input('
請輸入乙個0-100之間的整數:'))
if w>p:
print('
遺憾,太大了!
')
elif w
print('
遺憾,太小了!')
else
:
print('
**'+str(n)+'
次,你猜中了!')
break
1.random庫採用梅森旋轉演算法生成偽隨機數序列,提供了不同型別的隨機數函式,所有函式都是基於最基本的
random.random()
函式擴充套件實現。
2.randint(a,b)是
random
庫的常用函式之一,用於生成乙個
[a,b]
之間的整數。
3.str(n)是將
n的資料型別轉換為
string
型別,因為
python
拼接字串比較特殊,無法自動轉換資料型別。
4.break用來跳出最內層
for或
while
迴圈,脫離該迴圈後程式從迴圈**後繼續執行。
執行結果:
python練習題(二)
1.企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高 於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提 成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於 40萬元的部分,可提成3 60萬到10...
Python練習題(二)
1.python 裡 match 與 search 的區別?match 函式只檢測 re 是不是在 string 的開始位置匹配,search 會掃瞄整個 string 查詢匹配 也就是說 match 只有在 0 位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match 就返回 none。...
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...