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()
--------------------------------------------------------------