Python做業彙總

1.python

info = 'abc'mysql

info[2] = 'd'算法

結果是什麼,爲何會報錯呢?sql

info[2]已賦值,不能再次賦值。「str」對象不支持項目分配數據庫

 

 2. 若是要把上面的字符串info裏面的c替換成d,要怎麼操做呢?api

print(info.replace('c','d'))閉包

 

3. 下面2個變量 函數

a = '1'spa

b = 2firefox

print(a + b) 的結果是什麼,爲何會出現這個結果,若是但願結果是3,要怎麼操做?

報錯,由於’1’是字符串型,2是數值型,沒法直接相加。能夠把a賦值成數值型。

a=1

b=2

print(a+b)

4.字符串格式化練習

a=2

b=4

print("%d"%a*b)和print("%d"%(a*b)) 有何區別?

print(「%d」%a*b)打印4次a

print("%d"%(a*b))打印a*b

 自行搜索題:

5.eval()與repr()的區別

eval()函數將字符串當成有效python表達式來求值,並返回計算結果。

repr()返回一個能夠用來表示對象的可打印字符串。

repr()加一層引號,eval去一層引號。

轉換成python識別的格式

6.hash哈希值是什麼

散列函數(或散列算法,又稱哈希函數,英語:Hash Function)是一種從任何一種數據中建立小的數字「指紋」的方法。散列函數把消息或數據壓縮成摘要,使得數據量變小,將數據的格式固定下來。該函數將數據打亂混合,從新建立一個叫作散列值(hash values,hash codes,hash sums,或hashes)的指紋。散列值一般用一個短的隨機字母和數字組成的字符串來表明。好的散列函數在輸入域中不多出現散列衝突。在散列表和數據處理中,不抑制衝突來區別數據,會使得數據庫記錄更難找到。

7.複數是什麼

把形如a+bia,b均爲實數)的數稱爲複數,其中a稱爲實部,b稱爲虛部,i稱爲虛數單位。當虛部等於零時,這個複數能夠視爲實數;當z的虛部不等於零時,實部等於零時,常稱z爲純虛數。複數域是實數域的代數閉包,也即任何復係數多項式在複數域中總有根。

-----------------------------------------------------------------------------------------------------------------

1. 建立一個列表, 存儲你出生那年至你5歲那一年的數據

2. 接第一題,三歲生日是哪一年

3. 建立一個browser_list, 包含三個元素, 「firefox", "browser", "ie".

4. 更改browser_list,將每一個元素的首字母變爲大寫

  for i in range(3):
         browser_list[i]=browser_list[i].capitalize()
    print(browser_list)
browser_list()

 

5. 將browser_list翻轉過來,再將首字母變爲小寫

browser_list.reverse()
for i in range(3):
    browser_list[i]=browser_list[i].lower()
print(browser_list)

 

6. 建立一個包含3個詞的字典,提供如下配對: dog是meg, cat是mimi, elephant是dialo

7. 利用例子6生成一個新的字典(注意要使用items)方法

 

8. 建立並打印例子6的鍵組成的英語單詞集合

dict = {"dog":"meg","cat":"mimi","elephant":"dialo"}
print(set(dict.keys()))

 

9. 創建一個多級字典。

      第一級鍵 "animals'、'plants'、'others'

      animals 指向另外一個字典,包含鍵'cats', 'octupus', 'dog'

      cats指向一個字符串列表,包含'Henri', 'lucy', 'lili'

      其他的指向空字典

>>> dict1={"animals":{"cats":["Henri","lucy","lili"],"octupus":{},"dog":{}}"plants":{},"others":{}}

9.1 打印這個字典的頂級鍵

>>> print(dict1.keys())

dict_keys(['animals', 'plants', 'others'])

9.2 打印第二級animals的所有鍵

>>> print(dict1["animals"].keys())

dict_keys(['cats', 'octupus', 'dog'])

9.3 打印第二級animals中的cats的值

>>> print(dict1['animals'][‘cats’])

['Henri', 'lucy', 'lili']

Python控制流:

練習1:猜數字遊戲,增長遊戲次數限制,最多隻能猜5次。若是5次都沒猜正確,給出提示。

 answer = 4

num = int(input("猜一個數字(共有5次機會):"))

for count in range(1,5):

    if num == answer:

        print("恭喜答對了!")

        break

    else:

        num = int(input("猜一個數字(還剩%d次機會):"%(5-count)))

 

練習2:有一張厚度爲0.1毫米的紙,假設它足夠大,重複將其對摺,問對摺多少次以後,其厚度能夠抵達(再對摺一次就超過)珠穆朗瑪峯的高度?

count = 0

while 0.1*2**count <= 8844.43*1000:

    count += 1

print("對摺%d次後厚度能夠抵達珠峯的高度"%(count-1))

 

練習3:使用列表推導生成0-9的偶數列表

list2 = [x for x in range(10) if x%2 == 0]

print(list2)

 

練習4:使用字典推導建立字典squares,把0-9(range(10))的整數做爲鍵,每一個鍵的平方做爲值

squares = {key:key**2 for key in range(10)}

print(squares)

 ----------------------------------------------------------------------------------------------------------

 

1.查看test.txt. 手工生成test數據庫test表(id, account_name, fund)

將如下數據

id         account_name    fund

1          XX bank          1000

2          Leo               757

3          tiger              35

4          cat               208

 

存入python容器中(提示,多級容器),而後用pymysql將這些數據傳入test數據庫

#encoding=utf-8
import pymysql.cursors
import sys
#讀取文件
# try:
# fb = open("test.txt","r+")
# fb.seek(0,0) #遊標移動到首字符以前
# first_line = fb.readline() #此時浮標位於第一行行尾
# fb2 = fb.readlines()#讀取第二行以及以後的數據
# for line in fb2: #循環處理全部數據
# line=line[:-1]
# line1=line.split()
# a=line1[0]
# b=line1[1]
# c=line1[2]
# #鏈接配置
# sqlconn = pymysql.connect('127.0.0.1','root','123456','test')
# cursor = sqlconn.cursor()
# # 導入數據
# cursor.execute("insert into test(id,account_name,fund) values(%s,%s,%s)", [a, b, c])
# sqlconn.commit()
# except:
# print(sys.exc_info())
# finally:
# cursor.close()
# fb.close()
# sqlconn.close()

2.使用上題建立的test table, 設計一個函數,若用戶取錢數大於所持有數,取款失敗提示相關信息,若是可 以提取,修改這個用戶的所持有金錢數,而且銀行的總數額也要相應作修改

#取錢函數
def quqian():
user_name = input("輸入用戶姓名:")
try:
sqlconn = pymysql.connect('127.0.0.1', 'root', '123456', 'test')
cursor = sqlconn.cursor()
result = cursor.execute("select fund from test where account_name = '%s'"%user_name)
print(result)
# if result:
# monney = int(input("輸入取款金額:"))
# if result >= monney:
# cursor.execute("update test set fund = %d where account_name = '%s'"%(result-monney,user_name))
# cursor.execute("update test set fund = %d where account_name = 'XXbank''" % 1000 - monney)
# print("取款成功!帳戶餘額爲:")
# print(cursor.execute("select fund from test where account_name = '%s'" %user_name))
# else:
# print("餘額不足!帳戶餘額爲:")
# print(result)
# else:
# print("用戶不存在!")
except:
print(sys.exc_info())
finally:
cursor.close()
sqlconn.close()
quqian()

3.一個用戶註銷賬戶了,設計一個註銷賬戶函數

#註銷帳戶函數
def zhuxiao():
user_name = input('輸入用戶名:')
try:
sqlconn = pymysql.connect('127.0.0.1', 'root', '123456', 'test')
cursor = sqlconn.cursor()
result = cursor.execute("select account_name from test where account_name = '%s'"%user_name)
if result:
cursor.execute("delete from test where account_name = '%s'" %user_name)
sqlconn.commit()
print("註銷成功!")
else:
print("帳戶不存在!")
except:
print(sys.exc_info())
zhuxiao()

--------------------------------------------------------------
相關文章
相關標籤/搜索