python习题作业合集(持续更新……)

时间:2024-01-25 13:34:05

作业:

1.简述位,字节关系

2.请写出“天才”分别用utf-8和gbk编码所占位数

3.如果有一个变量num = 14,请使用int的方法,得到改变量最少可以用多少个二进制位表示

4.写代码,有如下变量,请按照要求实现每个功能:

name= " tianCAI"

a.移除name变量对应的值两边的空格,并输出移除后的内容

b.判断name变量对应的值是否以"ti" 开头,并输出结果

c.判断name变量对应的值是否以"I" 结尾,并输出结果

d.将name变量对应的值中的“n” 替换为“p", 并输出结果

e.将name变量对应的值根据“n” 分割,并输出结果

f. 请问,上一题e分割之后得到值是什么类型?

g.将name变量对应的值变大写,并输出结果

h.将name变量对应的值变小写,并输出结果

5.写代码:使用While和For循环分别打印字符串每个元素

6.请用代码实现:

li = ['alex','eric','rain']

利用下划线将列表的每-一个元素拼接成字符串"alex_ eric rain" 

7.实现一个整数加法计算器:

如:content = input("请输入内容: ] # 如用户输入: 5+9 或5+9或5+9,然后进行分割再进行计算

8.计算用户输入的内容中有几个整数?

如:content = input('请输入内容: ) # 如: asduiaf8781 23jkjsfd-213928

9. 制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的xxx,最喜欢在XXX地方干Xxx

10.购物车

功能要求:

要求用户输入自己拥有总资产,例如: 2000

显示商品列表,让用户根据序号选择商品,加入购物车

购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods= [

{"name": "电脑","price": 1999},

{"name":"鼠标","price": 10},

{"name":”游艇", "price": 20},

{"name":"美女","price": 998},

]

 

My  answer:

1.简述位,字节关系

位:bit

字节:bytes

一字节=8bit

2.请写出“天才”分别用utf-8和gbk编码所占位数

UTF-8英文字母被编码成1个字节,汉字通常是3个字节

GBK:2Bytes代表一个中文字符,1Bytes表示一个英文字符

所以“天才”用utf-8编码占6个字节,48位;用gbk编码占4个字节,32位

3.如果有一个变量num = 14,请使用int的方法,得到改变量最少可以用多少个二进制位表示

num = 14
valus = num.bit_length()
print(valus)

4.写代码,有如下变量,请按照要求实现每个功能:

name= " tianCAI"

a.移除name变量对应的值两边的空格,并输出移除后的内容

b.判断name变量对应的值是否以"ti" 开头,并输出结果

c.判断name变量对应的值是否以"I" 结尾,并输出结果

d.将name变量对应的值中的“n” 替换为“p", 并输出结果

e.将name变量对应的值根据“n” 分割,并输出结果

f. 请问,上一题e分割之后得到值是什么类型?

g.将name变量对应的值变大写,并输出结果

h.将name变量对应的值变小写,并输出结果

#a.
name = "tianCAI"
valus = name.strip()
print(name)
#b.
name = "tianCAI"
valus = name.startswith("ti")
print(valus)
#c.
name = "tianCAI"
valus = name.endswith("I")
print(valus)
#d.
name = "tianCAI"
valus = name.replace("n",'p')
print(valus)
#e.
name = "tianCAI"
valus = name.split('n')
print(valus)
#f.
<class 'list'>
name = "tianCAI"
valus = name.split('n')
print(type(valus))
#g.
name = "tianCAI"
valus = name.upper()
print(valus)
#h.
name = "tianCAI"
valus = name.lower()
print(valus)

5.写代码:使用While和For循环分别打印字符串每个元素

#while循环
name = "tiancai"
num = 0
while num < len(name):
    print(name[num])
num += 1
#for循环
name = "tiancai"
for i in name:
    print(i)

6.请用代码实现:

li = ['alex','eric','rain']

利用下划线将列表的每-一个元素拼接成字符串"alex_ eric rain"

li = ['alex','eric','rain']
value = '_'.join(li)
print(value)

7.实现一个整数加法计算器:

如:content = input("请输入内容: ] # 如用户输入: 5+9 或5+9或5+9,然后进行分割再进行计算

matter = input('请输入内容:').strip()
list1 = matter.split('+')
num = 0
result = 0
while num < len(list1):
    result = result+int(list1[num])
    num += 1
print(result)

 8.计算用户输入的内容中有几个整数?如:content = input('请输入内容: ) # 如: asduiaf8781 23jkjsfd-213928

content = input(">>>>:")
num = 0
for i in content:
    if i.isdigit():
        num += 1
print(num)

9.制作趣味模板程序

需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实

如:敬爱可亲的xxx,最喜欢在XXX地方干Xxx

name = input("Your name:")
place = input("Your favorite place:")
hobby = input("Your hobby:")
result = "敬爱可亲的%s,最喜欢在%s干%s" %(name,place,hobby)
print(result)

10.购物车

功能要求:

要求用户输入自己拥有总资产,例如: 2000

显示商品列表,让用户根据序号选择商品,加入购物车

购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods= [

{"name": "电脑","price": 1999},

{"name":"鼠标","price": 10},

{"name":”游艇", "price": 20},

{"name":"美女","price": 998},

]

goods= [
{"name": "电脑","price": 1999},
{"name":"鼠标","price": 10},
{"name":"游艇", "price": 20},
{"name":"美女","price": 998},
]
list1=[]
money = int(input("Your money:"))
for i,v in enumerate(goods,1):
    print(i,v)
while True:
    shop0 = input("Your number(按q退出):")
    if shop0 == "q":break
    else:shop = int(shop0)
    if money > goods[shop-1]['price']:
        money = money-goods[shop-1]['price']
        print("添加成功,你的余额:",money)
        list1.append(goods[shop-1]['name'])
    else:print("You don't have enough money,请重新选择")
print("你购买的商品有:")
for m,n in enumerate(list1,1):
    print(m,n)
print("你的余额为:",money)

 teacher answer