python的字典和流程控制

2021-09-01 04:15:01 字數 4524 閱讀 1817

in [1]: dic =

in [2]: dic

out[2]:

in [3]: dic=

in [4]: dic

out[4]:

字典的方法

in [5]: dic.

dic.clear dic.get dic.pop dic.update

dic.copy dic.items dic.popitem dic.values

dic.fromkeys dic.keys dic.setdefault

in [5]: dic.keys()

out[5]: dict_keys([1, 'a', ('a', 'b')])

in [6]: dic.values()

out[6]: dict_values([4, 11, 'dff'])

字典的get的使用,獲取key的value

in [12]: dic

out[12]:

in [13]: dic.get(1)

out[13]: 4

in [14]: dic.get('a')

out[14]: 11

in [15]: dic.get(('a','b'))

out[15]: 'dff'

檢查key是否在字典裡

in [17]: 'a' in dic

out[17]: true

把key和value生成列表

in [18]: dic.items()

out[18]: dict_items([(1, 4), ('a', 11), (('a', 'b'), 'dff')])

拷貝乙個字典

in [19]: dic1=dic.copy()

in [20]: dic1

out[20]:

pop出指定的key

in [22]: dic.pop(1)

out[22]: 4

in [23]: dic

out[23]:

更新字典,更新不相同的部分

in [24]: dic.update(dic1)

也可以通過for迴圈遍歷字典

in [25]: dic

out[25]:

in [28]: for k in dic:

...: print(k)

...: 1a

('a', 'b')

使用input接收使用者輸入的資訊存放在dic中,並且列印出來。

#! /usr/bin/python

info={}

name=input("please input name:")

age=input("please input age:")

gender=input("please input (m/f):")

info['name']=name

info['age']=age

info['gender']=gender

print(info)

[root@localhost studypy]# python3 dict-1.py

please input name:wushan

please input age:26

please input (m/f):m

也可以使用items的方法進行列印

for i in info.items():

print(i)

輸出結果

('gender', 'm')

('age', '26')

('name', 'shanwu')

for i,j in info.items():

print(i,j)

輸出結果

gender m

name shanwu

age 26

if語句
其中"判斷條件"成立時(非零),則執行後面的語句,而執行內容可以多行,以縮進來區分表示同一範圍。else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句

if例項
#!/usr/bin/python3

age = int(input("請輸入你的年齡: "))

print("")

if age < 0:

print("你還沒出生!")

elif age == 1:

print("恭喜你1歲了。")

elif age == 2:

print("恭喜你2碎了。")

elif age > 18:

print("恭喜你成年了")

if 巢狀
if 表示式1:

語句if 表示式2:

語句elif 表示式3:

語句else:

語句elif 表示式4:

語句else:

語句

if巢狀例子
# !/usr/bin/python3

num=int(input("輸入乙個數字:"))

if num%2==0:

if num%3==0:

print ("你輸入的數字可以整除 2 和 3")

else:

print ("你輸入的數字可以整除 2,但不能整除 3")

else:

if num%3==0:

print ("你輸入的數字可以整除 3,但不能整除 2")

else:

print ("你輸入的數字不能整除 2 和 3")

現有乙個字典dict1 儲存的是小寫字母a-z對應的ascii碼

dict1 =

將該字典按照ascii碼的值排序

dict(sorted(dict1.items(),key=lambda d:d[1]))有乙個字母的ascii錯了,修改為正確的值,並重新排序

dict1['0']=111

dict(sorted(dict1.items(),key=lambda d:d[1]))

用最簡潔的**,自己生成乙個大寫字母 a-z 及其對應的ascii碼值的字典dict2(使用dict,zip,range方法)

dict2(zip(list(string.ascii_uppercase),list(range(65,91))))

將dict2與第一題排序後的dict1合併成乙個dict3

dict3=dict(sorted(dict1.items(),key=lambda d:d[1])).copy()

dict3.update(dict2)

輸入三個整數x,y,z,請把這三個數由小到大輸出。 1.程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換, 然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

#!/bin/python

a=int(input("please input int:"))

b=int(input("please input int:"))

c=int(input("please input int:"))

if a>b:

a,b=b,a

if b>c:

b,c=c,b

if a>b:

a,b=b,a

print(a,b,c)

企業發放的獎金根據利潤提成。利潤(i)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於 40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數?

#!/bin/python

i=int(input("please input your money:"))

if i >= 100.000:

a = (i-100)*0.01+4.95

elif 100.000>i>60.000:

a = (i-60)*0.015+4.35

elif 60.000>=i>40.000:

a = (i-40)*0.03+3.75

elif 40.000>=i>20.000:

a = (i-20)*0.05+1.75

elif 20.000>=i>10.000:

a = (i-10)*0.075+1

elif i<=10:

a = i*0.1

print("money %s",a)

python筆記(列表 元組 字典和流程控制)

python內建的三種常用資料結構 列表list 元組tuple 字典dict。列表和元組都可以按順序儲存元素,每個元素有自己索引。都可以通過 列表跟元組相比,列表可以修改,元組不可修改。字典以key value形式儲存資料。列表是,元組是 list1 1,2,3,4,5 tuple1 1,2,3,...

python流程控制 python之流程控制

電腦程式在解決某個具體問題時,包括三種情形,即順序執行所有的語句 選擇執行部分的語句和迴圈執行部分語句,這正好對應著程式設計中的三種程式執行結構流程 順序結構 選擇結構和迴圈結構。事實證明,任何乙個能用計算機解決的問題,只要應用這三種基本結構來寫出的程式都能解決。python語言當然也具有這三種基本...

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...