第1关:定义判断质数的函数

任务描述

本关任务:编写一个能判断质数的函数。若参数是质数,返回true;否则返回false。 主程序输入一个数n,然后调用该函数判断其是否是质数,是则显示n是质数,否则显示n不是质数。

相关知识

为了完成本关任务,你需要掌握:如何定义函数。

定义函数

def <函数名> (<参数列表>): <函数体> return <返回值列表>

编程要求

根据提示,在右侧编辑器补充代码,将定义质数的函数补充完整。

测试说明

平台会对你编写的代码进行测试:

测试输入15; 预期输出: 15不是质数

测试输入:113 预期输出: 113是质数


穷则独善其身,达则兼济天下 开始你的任务吧,祝你成功!

代码:

n=eval(input("请输入一个数"))
def isprime(n):if n > 1:for i in range(2,n):if (n % i) == 0:print(n,"不是一个质数")breakelse:print(n,"是一个质数")else:print(n,"不是一个质数")
isprime(n)

第2关:绝对质数

任务描述

本关任务:编写一个输出所有两位数的绝对质数的小程序。 每行显示3个数,每个数后面四个空格 注意:isprime函数已经定义在本文件夹的程序isprime.py中

相关知识

为了完成本关任务,你需要掌握:1.什么是绝对质数,2.如何调用函数。

什么是绝对质数

一个质数,当它的数字位置对换以后仍为质数,这样的数称为绝对质数。例如17和71都是质数,所以17和71是绝对质数

调用函数

程序调用一个函数需要执行以下四个步骤: (1)调用程序在调用处暂停执行; (2)在调用时将实参复制给函数的形参; (3)执行函数体语句; (4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行 函数名可以作为表达式的一部分,可以直接输出,可以出现在赋值语句,也可以作为其他函数的参数

测试说明

平台会对你编写的代码进行测试:

学而不思则罔,思而不学则殆。 开始你的任务吧,祝你成功!

代码:

from isprime import *
#代码开始
x=0
for i in range(11,100):y=str(i)if isprime(eval(y[0]+y[1]))and isprime(eval(y[1]+y[0])):print(i,end="    ")x+=1if x%3==0:print()
#代码结束

第3关:验证哥赫巴德猜想

任务描述

本关任务:验证100之内大于2的偶数符合哥赫巴德猜想。

哥赫巴德猜想是任一大于2的偶数都可写成两个质数之和。

注意:调用isprime函数(在isprime.py文件中)判断是否质数 每行显示五个式子。每个式子的整数显示两位,每个式子后面显示tab(\t)

有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 开始你的任务吧,祝你成功!

代码:

from isprime import *
z,items=0,[]
for i in range(4,100,2):for x in range(2,100):for y in range(2,100):if isprime(x) and isprime(y) and i==x+y and i not in items:items.append(i)print("{:2d}={:2d}+{:2d}".format(i,x,y),end="\t")z+=1if z%5==0:print()

第4关:判断三角形类型

任务描述

本关任务:编写一个根据三条边长判断三角形类型的函数。 若不能构成三角形,返回0. 若构成等边三角形,返回1. 若构成等腰三角形,返回2 若构成直角三角形,返回3. 若是其他三角形,返回4.

在主程序中,根据函数的返回值,显示对应的三角形类型

相关知识

为了完成本关任务,你需要掌握: 1.如何定义函数 2.如何调用函数

定义函数

def 函数名(形式参数): 函数内容 return 返回值

调用函数

函数名(实际参数)

测试输入:333

预期输出: 等边三角形

测试输入:123

预期输出: 不能构成三角形

测试输入:345

预期输出: 直角三角形


人的心灵是有翅膀的,会在梦中飞翔。 开始你的任务吧,祝你成功!

代码:

def sjx(a,b,c):lx=0if a+b<c and a+c<b and b+c<a:lx=0elif a==b==c:lx=1elif a==b or a==c or b==c:lx=2elif a**2+b**2==c**2 or a**2+c**2==b**2 or b**2+c**2==a**2:lx=3return lx
x=eval(input())
y=eval(input())
z=eval(input())
m=sjx(x,y,z)
if m==0:print("不能构成三角形")
elif m==1:print("等边三角形")
elif m==2:print("等腰三角形")
elif m==3:print("直角三角形")
else:print("一般三角形")

第5关:成语字典精确查询

任务描述

本关任务:编写一个能查询成语字典的小程序。 sy10文件夹的成语.txt的图片如下图所示

编程要求

根据提示,将函数cyjl补充完整,将文件成语.txt的成语加入到cyzd字典,键为成语,值为后面的内容。 将函数精确查询jqcx补充完整,输入成语,显示该成语的所有信息。若成语不存在,显示成语不存在 将主程序补充完整,用户可循环输入1进行精确查找;输入0,退出程序

测试说明

平台会对你编写的代码进行测试:

测试输入: 1精确查询0退出1 请输入成语事半功倍 拼音:shì bàn gōng bèi释义:指做事得法,因而费力小,收效大。出处:《孟子·公孙丑上》故事半古之人,功必倍之,惟此时为然。”示例:如能善用他的特长和经验,比较地容易获得~的效果。★邹韬奋《经历·前途》 1精确查询0退出1 请输入成语飞飞飞飞 没有此成语 1精确查询2模糊查询0退出0


开始你的任务吧,祝你成功!

代码:

cyzd = {}
c = input("1精确查询0退出")
def cyjl():f1 = open("sy10//成语.txt", "r", encoding="utf8")for line in f1:cy = line[:line.find(" ")].strip()js = line[line.find(" ") + 1:].strip()cyzd[cy] = jsf1.close()
def jqcx():x = input("请输入成语")if x not in cyzd:print("没有此成语")else:print(cyzd[x])
cyjl()
while c != "0":if c == "1":jqcx()c = input("1精确查询0退出")

第6关:成语字典模糊查询

任务描述

本关任务:编写一个能查询成语字典的小程序。 sy10文件夹的成语.txt的图片如下图所示

编程要求

根据提示, 将函数模糊查询mhcx补充完整,输入词语,显示所有包含该词语的成语

将主程序补充完整,用户可循环输入1,进行精确查找;输入2,进行模糊查找;输入0,退出程序

测试说明

平台会对你编写的代码进行测试:

测试输入: 1精确查询2模糊查询0退出2 请输入词语梦 醉生梦死 醉死梦生 庄周梦蝶 庄生梦蝶 昼想夜梦 重温旧梦 至人无梦 云梦闲情 一梦华胥 一场春梦 夜长梦短 夜长梦多 哑子托梦 哑子寻梦 哑子做梦 熊罴入梦 同床各梦 同床异梦 如梦初觉 如梦初醒 如梦方醒 如梦如醉 如醉如梦 如痴如梦 人生如梦 鹏游蝶梦 南柯一梦 梦笔生花 梦断魂劳 梦幻泡影 梦魂颠倒 梦见周公 梦里南轲 梦寐以求 梦撒寮丁 梦撒撩丁 梦想颠倒 梦熊之喜 梦中说梦 眠思梦想 江淹梦笔 魂劳梦断 魂牵梦萦 魂驰梦想 魂颠梦倒 黄梁美梦 黄梁一梦 黄粱美梦 黄粱一梦 恍如梦境 恍如梦寐 槐南一梦 好梦不长 好梦难成 好梦难圆 酣然入梦 更长梦短 浮生若梦 分床同梦 飞熊入梦 丹漆随梦 大梦初醒 大梦方醒 春梦无痕 楚梦云雨 痴人说梦 半梦半醒 白日作梦 白日做梦 1精确查询2模糊查询0退出2 请输入词语拳 揎拳拢袖 揎拳掳袖 揎拳捋袖 揎拳裸臂 揎拳裸手 揎拳裸袖 揎拳攞袖 揎拳捰袖 揎拳舞袖 掀拳裸袖 无拳无勇 握拳透掌 握拳透爪 捰袖揎拳 袒臂挥拳 三拳不敌四手 三拳两脚 拳不离手,曲不离口 拳打脚踢 拳拳服膺 拳拳盛意 拳拳在念 拳拳之枕 拳头上立得人,胳膊上走得路 拳中掿沙 摩拳擦掌 磨拳擦掌 捋袖揎拳 裸袖揎拳 攞袖揎拳 毒手尊拳 撺拳拢袖 赤手空拳 嗔拳不打笑面 擦拳磨掌 擦拳抹掌 擦掌磨拳 猜拳行令 饱飨老拳 饱以老拳 白手空拳 1精确查询2模糊查询0退出0


开始你的任务吧,祝你成功!

代码:

cyzd = {}
c = input("1精确查询2模糊查询0退出")
def cyjl():f1 = open("sy10//成语.txt", "r", encoding="utf8")for line in f1:cy = line[:line.find("拼音")].strip()cyjx = line[line.find("拼音"):].strip()cyzd[cy] = cyjxf1.close()
def mhcx(x):for i in cyzd:if x in i:print(i)
def jqcx(x):if x in cyzd.keys():print(cyzd[x])else:print("成语不存在")
cyjl()
while c != "0":if c != "1":x = input("请输入词语")mhcx(x)else:x = input("请输入成语")jqcx(x)c = input("1精确查询2模糊查询0退出")

第7关:成语接龙小游戏

任务描述

本关任务:编写一个成语接龙小游戏。 在sy10文件夹下,有一个成语.txt文件,如下所示

在上述成语字典程序中,增加一个成语接龙的选项。 游戏规则如下: 用户输入一个成语,若用户输入的不是文件中的成语,则显示“非法成语,你输了” 若输入正确成语,系统会到成语文件中找到以你输入成语的最后一个字开始的成语。 若系统没有找到,则显示“你赢了。”退出接龙。 若系统找到了,则显示该成语。 用户继续输入以该成语结尾的字开始的成语,若输入的成语符合要求,则系统继续接龙。 若成语没有接龙,系统提示“没有接龙"

测试说明

补充yx函数,实现游戏过程

测试输入: 3 走马观花 花残月缺 缺衣少食 食案方丈 丈二和尚 尚虚中馈 溃不成军 没有接龙,你输了

测试输入: 3 狐假虎威 威风八面 面面俱到 你赢了

测试输入: 3 天下太平 平安无事 事半功倍 倍道而进 进出两难 非法成语,你输了


开始你的任务吧,祝你成功!

代码:

cyzd = {}
c = input("1精确查询2模糊查询3成语接龙0退出")
def cyjl():f1 = open("sy10//成语.txt", "r", encoding="utf8")for line in f1:cy = line[:line.find("拼音")].strip()cyjx = line[line.find("拼音"):].strip()cyzd[cy] = cyjxf1.close()
def mhcx(x):for y in cyzd.keys():if x in y:print(y)
def jqcx(x):if x in cyzd.keys():print(cyzd[x])else:print("成语不存在")
def yx1(x):y = []for i in cyzd:y.append(i)if x in y:for i in y:if x[-1] == i[0]:print(i)x = input("请输入成语")if x not in y or x[0] == i[-1]:yx1(x)else:print("没有接龙,你输了")breakelse:print("你赢了")else:print("非法成语,你输了")
cyjl()
while c != "0":if c == "1":x = input("请输入成语")jqcx(x)elif c == "2":x = input("请输入词语")mhcx(x)elif c == "3":x = input("请输入成语")yx1(x)c = input("1精确查询2模糊查询3成语接龙0退出")

educoder:实验十一 函数相关推荐

  1. c语言程序设计 实验十一,C语言实验十一 结构体程序设计(二)

    实验十一结构体程序设计(二) 一.实验目的 1.掌握链表的基本概念与定义方法: 2.掌握链表.共用体的程序设计. 二.实验环境 1.硬件:PII以上计算机: 2.软件:Windows.Visual C ...

  2. 实验十一 电路布线问题

    <算法设计与分析>实验报告         所在院系 计算机与信息工程学院 学生学号 学生姓名 年级专业 2020级计算机科学与技术 授课教师 彭绪富 学         期 2022-2 ...

  3. 操作系统真象还原实验记录之实验十一:实现中断处理(二)

    操作系统真象还原实验记录之实验十一:实现中断处理(二) 书p335 7.6.2 改进中断处理程序,并调快时钟 1.实验代码第一次修改 对应 书p335 7.6.2 改进中断处理程序 这次是上一次实验的 ...

  4. matlab实验报告实验6函数文件,南昌大学matlab实验报告.docx

    南昌大学matlab实验报告.docx 1MATLAB实验报告2姓名学号班级机制目录实验一熟悉MATLAB环境认识MATLAB----------3实验二MATLAB运算基础------------- ...

  5. 《C++程序设计实践》实验十一

    <C++程序设计实践>实验十一 一.课内实验题(共10小题,100分) 题型得分 100 [描述] 按要求计算数值. [输入] 第一行是整数n,表示第二行有n个整数. 第二行:n个整数. ...

  6. matlab 迭代 混沌与分形实验报告,实验四 函数的迭代混沌与分形.doc

    实验四 函数的迭代混沌与分形.doc 实验四函数的迭代.混沌与分形实验目的1认识函数的迭代:2了解混沌和分形迭代在数值计算中占有很重要的地位,了解和掌握它是很有必要的本实验将讨论用NEWTON迭代求方 ...

  7. c语言实验七 函数实验报告,C语言实验七函数实验报告.doc

    C语言实验七函数实验报告 C语言程序设计 实 验 报 告 实验题目 实验七 函数 实验目的 掌握函数定义的方法: 掌握函数实参与形参的对应关系,以及值传递的方式. 掌握函数的嵌套调用和递归调用的方法: ...

  8. JAVA数据库访问设置的实验_实验十一 连接数据库实验(V2.0)

    实验十一  连接数据库实验(V2.0) 一.实验目的 1.  连接MS SQL Server2005数据库 2.  读取数据库到Web页面 二.实验内容 1.实验准备: java连接数据库的方法模型. ...

  9. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计

    <matlab实验四函数编写与程序设计>由会员分享,可在线阅读,更多相关<matlab实验四函数编写与程序设计(8页珍藏版)>请在金锄头文库上搜索. 1.实验四:函数编写与程序 ...

最新文章

  1. 函数 —— fgets()
  2. Web 标准实践系列(一)——Google 的首页
  3. 解决VirtualBox里Ubuntu的共享文件夹无法访问(终极解决方案)
  4. 服务器此时无法接受控制信息,您无法修改域或信任信息,因为无法联系一个主域控制器(PDC)仿真器,请确认当前域的PDC仿真器和网络都联机并正常运行。...
  5. ios http长连接_Nginx篇05——http长连接和keeplive
  6. mybatis 详解------ 一级缓存、二级缓存(九)
  7. x86_64 Linux 运行时栈的字节对齐
  8. mysql对所有id求积_sql 行列式 转换,
  9. 背包之01背包、完全背包、多重背包详解
  10. python 字典写入excel_Python向excel中写入数据的方法
  11. 浏阳市大瑶计算机学校,2021年湖南长沙浏阳市重点小学排名学校一览
  12. linux安装p12,用命令行安装mobileprovision和p12证书
  13. linux中如何分割字符串数组中,Linux教程——Shell中字符串与数组操作实例
  14. 1926. Nearest Exit from Entrance in Maze刷题笔记
  15. 问题 J: 爱吃榴莲的LZY
  16. echarts 实现区域划分 折线图
  17. android jni黑屏,android使用高德地图出现诡异的:JNI DETECTED ERROR IN APPLICATION
  18. 强化学习适合解决什么样的问题
  19. ibm服务器有哪些型号,IBM服务器各个机型所对应ServerGuide引导光盘.doc
  20. jeesite框架学习

热门文章

  1. Qualcomm MSM8916 将开关机动画放置到指定分区做法
  2. 请不要 “妖魔化” 外包
  3. 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输
  4. Flex布局和gird布局
  5. FPGA入门实验-基于状态机实现4位共阴极数码管显示超声波模块读数
  6. Log-Euclidean metric on Riemannian manifold 黎曼流形上的Log-Euclidean测度
  7. 如何使用自动化测试进行Android UI测试
  8. AVL树(动图详解)
  9. 有关键词和频率,怎么求共词矩阵?有报酬
  10. 《Miss Talk》第07期:对话拓课云联合创始人兼CTO 王晓伟