第一阶段考试题¶
-
简述解释型语言和编译型语言的区别。
-
罗列你听说过的编程语言。
-
简述位和字节的关系?
-
简述你理解的 ascii、unicode、utf-8、gbk 编码。
-
py2和py3默认解释器编码分别是什么?如何在代码中修改解释器的编码?
-
pass的作用?
-
is和==的区别?
-
列举你了解的Python2和Python3的区别。
-
变量名的命名规范有哪些?
-
都有那些值转换为布尔值时为False?
-
简述如下三个变量的区别。
-
你所学的数据类型中哪些是可变的类型?
-
你所学的数据类型中哪些是可哈希的类型?
-
你所学的数据类型中哪些是有序的?
-
列举你能记得的如下数据类型的方法(独有功能)。
- str
- list
- dict
-
请将字符
name = "wupeiqi"翻转。 -
进制之间如何进行转换?
-
循环过程中 break和continue的作用是什么?
-
看代码写结果
-
看代码写结果
info = [ {'k1':(1),'k2':{'k9':'luffy','k10':'武沛齐'}}, (11,22,33,44), {199,2,3,4,5}, True, ['李杰','alex', { 'extra': ("alex",[18,20],'eric') } ] ]- 利用索引获取 "luffy"
- 利用索引获取 44
- 删除k10对应的键值对
- 在
{ 'extra': ("alex",[18,20],'eric') }字典中添加一个键值对"name":"武沛齐" - 在集合
{199,2,3,4,5}中添加一个 "北京" - 将列表中的True修改为 "真"
- 在列表
[18,20]的第0个索引位置插入 666
-
判断下面的代码是否正确?正确的话则写出结果,否则标明错误。
-
看代码写结果
-
看代码写结果
-
看代码写结果
-
写代码实现,循环提示用户输入内容(Q或q终止),并将内容用 "_" 连接起来。
-
写代码实现,将IP转换为整数。
如 10.3.9.12 转换规则为: 10 00001010 3 00000011 9 00001001 12 00001100 再将以上二进制拼接起来,然后再进行一次翻转。
最终将翻转之后的二进制转换为整型。
-
写代码实现,车牌的区域划分。
-
写代码实现,数据格式化处理。
-
写代码实现 累乘计算器。
-
使用for循环实现输出 9*9 乘法表
-
补充代码实现《棋牌游戏11点》
需求:
-
生成一副扑克牌(自己设计扑克牌的结构,小王和大王可以分别用14、15表示 )
-
3个玩家
-
发牌规则
-
默认先给用户发一张牌,其中 J、Q、K、小王、大王代表的值为0.5,其他就是则就是当前的牌面值。
- 用户根据自己的情况判断是否继续要牌。
- 要,则再给他发一张。
- 不要,则开始给下个玩家发牌。
-
如果用户手中的所有牌相加大于11,则表示爆了,此人的分数为0,并且自动开始给下个人发牌。
-
最终计算并获得每个玩家的分值,例如:
必备技术点:随机抽排
import random total_poke_list = [("红桃", 1), ("黑桃", 2), ("大王", 15), ("小王", 14)] # 随机生成一个数,当做索引。 index = random.randint(0, len(total_poke_list) - 1) # 获取牌 print("抽到的牌为:", total_poke_list[index]) # 踢除这张牌 total_poke_list.pop(index) print("抽完之后,剩下的牌为:", total_poke_list)代码示例:(请补充实现)
-
#自己写的
import random
# 补充代码
#生成一副扑克牌(自己设计扑克牌的结构,小王和大王可以分别用14、15表示 )
total_poke_list = []
color_poke = ['红心','黑桃','方角','梅花']
for i in range(1,14):
for j in color_poke:
total_poke_list.append((j,i))
total_poke_list.append(('小王',14))
total_poke_list.append(('大王', 15))
print(total_poke_list)
# 发牌
result = {}
user_list = ["alex","武沛齐","李路飞"]
for i in user_list:
print(f'当前用户{i}')
count = 0 #分数计算
while True:
index = random.randint(0,len(total_poke_list)-1)
poke = total_poke_list.pop(index)
# jqk 大小王 0.5分
value = poke[1]
if poke[1] > 10:
value = 0.5
count += value
print(f'当前发牌{poke},牌面总和{count}')
if count > 11:
print('所有牌数大于11 清0')
result[i] = 0
break
dd = input('是否继续要牌 N/n 不要牌,其他任意键要牌 >')
if dd.upper() == 'N':
result[i] = count
break
print(result)
张开导师 使用set实现 https://www.cnblogs.com/Neeo/articles/10614012.html
import os
poke_type = ('红桃', '黑桃', '梅花', '方块')
poke_set = set()
poke_set.update({('小王', 0.5), ('大王', 0.5)})
{(k + i, 0.5) for k in poke_type for i in ['J', 'Q', 'k', 'A']}
poke_set.update({(k + i, 0.5) for k in poke_type for i in ['J', 'Q', 'K', 'A']})
poke_set.update({(k + str(i), i) for k in poke_type for i in range(2, 11)})
# for k in poke_type:
# for i in ['j','Q','k','A']:
# poke_set.update({(k+i,0.5)})
print(poke_set)
user_dict = {
"zhangkai": {'poke': [poke_set.pop()], 'score': 0, 'msg': ''},
"likai": {'poke': [poke_set.pop()], 'score': 0, 'msg': ''},
"wangkkai": {'poke': [poke_set.pop()], 'score': 0, 'msg': ''},
}
# print(user_dict)
for i in user_dict:
while True:
user_dict[i]['score'] = sum([i[1] for i in user_dict[i]['poke']])
choice = input('尊敬的用户[{}],你现在手里有牌[{}],得分[{}],要牌y/不要n\n请根据需求输入: '.format(
i,
' '.join([i[0] for i in user_dict[i]['poke']]),
sum([i[1] for i in user_dict[i]['poke']])
)).strip()
if not choice:
continue
if choice.upper() == 'N':
os.system('clear') # windows 清屏指令cls,Linux请使用 clear
break
user_dict[i]['poke'].insert(0, poke_set.pop())
user_dict[i]['score'] = sum([i[1] for i in user_dict[i]['poke']])
if user_dict[i]['score'] > 11:
print('尊敬的用户[{}],你手里有牌[{}],得分是[{}],大于11点,爆掉了,根据规则,我们不带你玩了!!!'.format(
i,
' '.join([i[0] for i in user_dict[i]['poke']]),
user_dict[i]['score']
))
user_dict[i]['msg'] = '实际得分[{}],大于11点,爆掉了'.format(sum([i[1] for i in user_dict[i]['poke']]))
user_dict[i]['score'] = 0
break
print('选牌完毕,正在计算得分.....')
for i in user_dict:
print('尊敬的用户[{}],你的总得分是[{}]'.format(i, user_dict[i]['score']), user_dict[i]['msg'])
# 计算出赢家
winner_user = max(user_dict, key=lambda x: user_dict[x]['score'])
print("最后的赢家是: {},得分是: {}".format(winner_user, user_dict[winner_user]['score']))