Python作业汇总

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

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

 

posted @ 2018-04-07 23:38  孬孬猪  阅读(6732)  评论(0编辑  收藏  举报