广西公司搭建网站公司,asp做网站好不好,大连网站建设设计公司,app 排名网站#x1f383;个人专栏#xff1a; #x1f42c; 算法设计与分析#xff1a;算法设计与分析_IT闫的博客-CSDN博客 #x1f433;Java基础#xff1a;Java基础_IT闫的博客-CSDN博客 #x1f40b;c语言#xff1a;c语言_IT闫的博客-CSDN博客 #x1f41f;MySQL#xff1a… 个人专栏 算法设计与分析算法设计与分析_IT闫的博客-CSDN博客 Java基础Java基础_IT闫的博客-CSDN博客 c语言c语言_IT闫的博客-CSDN博客 MySQL数据结构_IT闫的博客-CSDN博客 数据结构数据结构_IT闫的博客-CSDN博客 CC_IT闫的博客-CSDN博客 C51单片机C51单片机STC89C516_IT闫的博客-CSDN博客 基于HTML5的网页设计及应用基于HTML5的网页设计及应用_IT闫的博客-CSDN博客 pythonpython_IT闫的博客-CSDN博客 离散数学离散数学_IT闫的博客-CSDN博客 欢迎收看希望对大家有用 目录
一. 程序题
1. (程序题, 15分)
2. (程序题, 20分)
二. 填空题共4题45分
3. (填空题, 9分)
4. (填空题, 6分)
5. (填空题, 24分)
6. (填空题, 6分)
三. 简答题共1题20分
7. (简答题, 20分)
答案
第一题
第二题
第三题
第四题
第五题
第六题 第七题 一. 程序题 1. (程序题, 15分) 编写函数接收一个字符串判断该字符串是否为回文。所谓回文是指从前向后读和从后向前读是一样的。例如例如: 121是回文, 123454321是回文abba是回文。使用切片完成是否是回文的判断条件切取字符串前一半和后一半比较是否相等 输入输出示例如下 2. (程序题, 20分) 判断用户是否登录成功。 1系统里面有多个用户 用户名和对应的密码信息保存在以下元组和列表里面 userName (zhangsan,lisi,wangwu,zhaoliu,xiaolin,xiaohua) pwList[123,456,789,246,abc,abc1234] 用户名和密码的顺序是对应的例如zhangsan的密码是123lisi的密码是456 2用户登录(判断用户登录是否成功): ①编写一个函数username_test判断用户是否存在?如果用户存在返回用户索引如果输入的用户不存在重新输入用户名总共有三次输入用户名的机会三次输入都失败退出程序。 ②编写一个函数password_test判断用户密码是否正确? 根据存在的用户名返回的索引用pwList[用户索引]取出该用户的密码与输入的密码对比如果密码正确登录成功 退出程序否则如果密码不正确重新输入密码总共有三次输入密码的机会三次输入密码失败退出程序。 ③编写一个main函数在其中创建用户名列表和密码列表调用username_test函数判断用户名是否存在存在的话返回用户名的索引调用password_test判断用户输入的密码是否正确。 二. 填空题共4题45分 3. (填空题, 9分) def Sum(a,b3,c5) return sum([a,b,c]) print(Sum(a3,c2)) print(Sum(8)) print(Sum(8,2)) 4. (填空题, 6分) 编写一个猜数游戏该游戏会随机产生一个数字用户可以随意输入一个数进行比较在比较过程中会不断提示用户输入的数是大了还是小了直到用户输入的数等于随机数或者用户猜够5次程序终止。 请填空完善代码。 import random import sys def guess_num(n): if nkey: return 大了 elif nkey: return 小了 else: print(恭喜猜对了) sys.exit(0) keyrandom.randint(1,100) _______________ while True: if count5: x int(input(num)) print(_______________) countcount1 else: print(f很遗憾您5次都没有猜对生成的数字是{key}) break 5. (填空题, 24分) 游戏角色管理。 请填空把代码填写完整。 import sys print(* * 40) print(--------------游戏角色管理--------------) print(1:查询角色) print(2:添加角色) print(3:修改角色) print(4:删除角色) print(5:显示所有角色) print(-1:退出程序) print(* * 40) # 角色列表. roleList [{姓名: 刘备,单位: 蜀国,职务: 董事长兼总经理,武力: 6}] _______(1)_______ 姓名 input(请输入要查找角色的姓名: ) for role in roleList: if 姓名 role[姓名]: print(姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f. % (role[姓名], role[单位], role[职务], role[武力])) break else: print(对不起。没有您要查找的角色!) _______(2)_______ 姓名 input(请输入姓名: ) for role in roleList: if 姓名 role[姓名]: print(您所输入的角色已存在) break else: 单位 input(请输入单位: ) 职务 input(请输入职务: ) 武力 float(input(请输入武力: )) newRole {} newRole[姓名] 姓名 newRole[单位] 单位 newRole[职务] 职务 newRole[武力] 武力 roleList.append(newRole) _______(3)_______ 姓名 input(请输入要修改角色的姓名: ) for role in roleList: if role[姓名] 姓名: role[单位] input(请输入新的单位: ) role[职务] input(请输入新的职务: ) role[武力] float(input(请输入新的武力: )) print(修改角色成功) break else: print(您要修改的角色不存在) _______(4)_______ 姓名 input(请输入要删除角色的姓名: ) for role in roleList: if role[姓名] 姓名: roleList.remove(role) print(删除角色成功) break else: print(您要删除的角色不存在!) _______(5)_______ for role in roleList: print(姓名: %s, 单位: %s, 职务: %s, 武力: %3.1f. % (role[姓名], role[单位], role[职务], role[武力])) _______(6)_______ print(退出程序!) sys.exit(0) while True: SN int(input(请输入操作序号: )) # 输入操作序号. if SN in [1,2,3,4,5,-1]: if SN 1: # 查询角色. queryRole( ) elif SN 2: # 添加新角色 addRole( ) elif SN 3: # 修改角色. modifyRole( ) elif SN 4: # 删除角色. deleteRole( ) elif SN 5: # 显示所有角色. displayAllRole( ) else: # 退出程序. exitP( ) else: print(输入错误!请重新输入-1,1-5之间的操作序号) 6. (填空题, 6分) 下面代码 def deco(func): def wrapper(): print(fbefore {func.__name__} called.) func() print(fafter {func.__name__} called.) return wrapper _____(1)_______ def myfunc1(): print(myfunc1() called.) ____(2)_______ def myfunc2(): print(myfunc2() called) myfunc1() myfunc2() 请完成填空使代码的执行结果如下 before myfunc1 called. myfunc1() called. after myfunc1 called. before myfunc2 called. myfunc2() called after myfunc2 called. 三. 简答题共1题20分 7. (简答题, 20分) 编写程序产生彩票游戏超级大乐透的投注号码。 1.户输入投注的注数time显示给用户time组号码。 2.编写函数实现投注号码的生成。 3.请把自己的代码填写到答案框并截图自己的运行结果。输出结果的第一行 软工某某班张三的大乐透号码生成器字符串中的班级和姓名要改写为自己的班级姓名。 备注 (1)超级大乐透基本投注是指从前区号码红色球中任选五个号码并从后区号码蓝色球中任选两个号码的组合进行投注。 其中前区号码由01—35共三十五个号码组成后区号码由01—12共十二个号码组成。 (2)显示时前区号码和后区号码分别按照从小到大的顺序显示 (3) random模块中的random.sample(seq,number)函数可以实现从样本空间seq中随机选择number个数字。 答案
第一题
def a(string):l1 len(string)//2first string[:l1]second string[:-l1-1:-1]if first second:print(f{string} 是回文)else:print(f{string} 不是回文)
string1 input(请输入字符串)
a(string1)
第二题
def username_test():userName (zhangsan, lisi, wangwu, zhaoliu, xiaolin, xiaohua)count 0while count3:userName1 input(请输入用户名:)if userName1 in userName:return userName.index(userName1)else:print(用户不存在)count 1print(用户名输入超过3次)exit(0)
def password_test(user_index):pwList [123, 456, 789, 246, abc, abc1234]count 0while count 3:password input(请输入密码:)if password pwList[user_index]:print(登录成功)exit(0)else:print(密码不正确)count1print(密码输入超过3次)exit(0)
def main():index1 username_test()password_test(index1)
if __name__ __main__:main()
第三题 (1) 8 (2) 16 (3) 15 第四题 (1) count1;count 1 (2) guess_num(x);f{guess_num(x)} 第五题 (1)def queryRole(): (2) def addRole(): (3) def modifyRole(): (4) def deleteRole(): (5) def displayAllRole(): (6) def exitP(): 第六题 (1) deco (2) deco 第七题
import randomdef Great_lotto(times):Greatnumber []for i in range(0,times):numbers []redbubble_list list(range(1,36))number_red random.sample(redbubble_list,5)bluebubble_list list(range(1,13))number_blue random.sample(bluebubble_list,2)number_red.sort()number_blue.sort()numbers number_rednumber_bluefor n in range(len(numbers)):if numbers[n]10:numbers[n] 0str(numbers[n])Greatnumber.append(numbers)return Greatnumberprint(软工某某班张三的大乐透号码生成器)time input(请输入要生成的大乐透号码注数:)Greatnumber Great_lotto(int(time))for i in range(0,int(time)):print(Greatnumber[i][0],Greatnumber[i][1],Greatnumber[i][2],Greatnumber[i][3],Greatnumber[i][4],Greatnumber[i][5],Greatnumber[i][6])for i in range(0,int(time)):# for j in range(7):# if j!6:# print(f{Greatnumber[i][j]},end )# else:# print(f{Greatnumber[i][j]})