1.
info = 'abc'
info[2] = 'd'
結果是什么,為什么會報錯呢?
info[2]已賦值,不能再次賦值。“str”對象不支持項目分配
2. 如果要把上面的字符串info里面的c替換成d,要怎么操作呢?
print(info.replace('c','d'))
3. 下面2個變量
a = '1'
b = 2
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()
--------------------------------------------------------------