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+bi(a,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()
--------------------------------------------------------------