luatOS网站 lua语言学习 练习题

news2025/1/9 16:53:32

LuatOS练习题
lua 教程跳转链接,练习题都来自这里

逻辑运算

检验大小(自测题)

题目:如果已知number变量n,那么如果需要判断n是否符合下面的条件:

3<n≤10

以下四行判断代码,正确的是?

(返回true即表示变量n符合要求)

n = 1--这个数可能是任意数字

print(n <= 10 and n > 3)

分支判断

判断三角形合法性(自测题)

你需要使用前面几章的知识,来完成下面的题目

已知三个number类型的变量a、b、c,分别代表三根木棒的长度

请判断,使用这三根木棒,是否可以组成一个三角形(两短边之和大于第三边)

如果可以组成,就打印出true

如果不可以,就打印false

--多改几个数值自行测试
a,b,c = 3,4,6

t = false

--补全代码
if (a+b>c) and (c>a and c>b) then
    t = true
end
if (a+c>b) and (b>a and b>c) then
    t = true
end
if (c+b>a) and (c<a and b<a) then
    t = true
end
print(t)

函数

判断三角形合法性2(自测题)

你需要使用前面几章的知识,来完成下面的题目

已知三个number类型的变量a、b、c,分别代表三根木棒的长度

请判断,使用这三根木棒,是否可以组成一个三角形(两短边之和大于第三边)

如果可以组成,就打印出true

如果不可以,就打印false

function triangle(a,b,c)
    t = false
    --补全代码
    if (a+b>c) and (c>a and c>b) then
        t = true
    end
    if (a+c>b) and (b>a and b>c) then
        t = true
    end
    if (c+b>a) and (c<a and b<a) then
        t = true
    end
    return t
end

result = triangle(1,2,3)--传入值为三边长度,多改几个测试下
print(result)

返回多个值(自测题)

你需要使用前面几章的知识,来完成下面的题目

已知2个number类型的变量,分别代表一个长方体的长和宽

请计算这个长方形的周长和面积

请新建一个函数rectangle,并可以用如下形式调用:

function rectangle(a,b)
    return a*b,(a+b)*2
end

area,len = rectangle(1,2)
--结果:
--面积area为2
--周长len为6
print(area,len)

table

Lua全局变量与table

你需要完成下面的任务:

已知有一个全局变量,名为@#$

请新建一个变量result

将@#$变量里的值赋值给result

_G["@#$"] = 123

result = _G["@#$"]--请补全代码
print("result值为",result)

table小测验3

请新建一个名为t的table,满足以下要求

t[10]可获得number类型数据100

t.num可获得number类型数据12

t.abc[3]可获得string类型数据abcd

t.a.b.c可获得number类型数据789

--请补全代码
t = {
    [10] = 100,
    ['num'] = 12,
    abc = {
        [3] = 'abcd'
    },
    a = {
        b = {
            c = 789
        }
    }
}

print("t[10]可获得number类型数据100:",t[10],type(t[10]))
print("t.num可获得number类型数据12:",t.num,type(t.num))
print("t.abc[3]可获得string类型数据abcd:",t.abc[3],type(t.abc[3]))
print("t.a.b.c可获得number类型数据789:",t.a.b.c,type(t.a.b.c))

table.concat

请完成下面的任务:

已知table变量t,

将t中的结果全部连起来

间隔符使用 ,

并使用print打印出来

t = {"a","b","c","d"}
print("连接结果:")
--补全代码
print(table.concat(t, ","))

table删减

请完成下面的任务:

已知table变量t,

去除t中的第一个元素

然后这时,在t的第三个元素前,加上一个number变量,值为810

t = {1,2,3,4,5,6,7,8,9}

--补全代码
table.remove(t, 1)
table.insert(t, 3, 810)

print("第一个元素应为2:",t[1])
print("第三个元素应为810:",t[3])

循环

循环测试题1(自测题)

a = 10
--需要用print输出要求的结果
print("输出结果:")

for i=1,a*2,2 do
    print(i)
end

循环测试题2(自测题)

a = 10
--需要用print输出要求的结果
print("输出结果:")

cc = ''

for i=1,a do --请补全代码
    cc = cc .. '*'
    print(cc)
end

循环测试题3(自测题)

a = 20
--需要用print输出要求的结果
print("输出结果:")

cc = ''

for i=1,a do --请补全代码
    cc = cc .. tostring(i)
    print(cc)
end

循环测试题4(自测题)

有一只猴子,第一天摘了若干个桃子 ,当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。

第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。

以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5个)。

到第n天早上再想吃的时候,就只剩下一个桃子了。

那么,已知变量a为最后一天的天数,请打印出第一天的桃子数。

如:a为5时,输出114

a = 5
--需要用print输出要求的结果
print("输出结果:")
peach = 1

-- 第 n   天,剩 1 个桃子
-- 第 n-1 天,剩 (1+n-1)*2 个桃子
for i=a-1,1,-1 do --请补全代码
    peach = (peach + i)*2
end
print(peach)

详解string库

string.sub

请完成下面的任务:

已知字符串变量s,请分别打印出(每种一行):

s从第4个字符开始,到最后的值

s从第1个字符开始,到倒数第3个字符的值

s从倒数第5个字符开始,到倒数第2个字符的值

s = "1919810"

--补全代码
print(s:sub(4))
print(s:sub(1,-3))
print(s:sub(5,-2))

string.rep

打印一行数据,数据内容为810个114514

--补全代码
print(string.rep('114514',810))

string.len

新建一个变量s,使数据内容为810个114514
并打印出字符串s的长度

s = string.rep('114514',810)--补全代码
print(s:len())

大小写转换

已知一个变量s,打印出全是大写字母的s字符串

s = "asd8938KJjsidiajdl;(()k)"
print(s:upper()) --补全代码

string.format

已知一个变量n,为number类型整数
打印出n:连上n值的字符串

n = 810

print(string.format('n:%d', n)) --补全代码

string.char

已知一个字符串的每个字符在数组t中按顺序排列

请根据t的值,打印出字符串内容(一行数据)

注:这个字符串存储的不一定是可见的字符

t = {0x79,0x6F,0x75,0x20,0x61,0x72,0x65,0x20,0x72,0x69,0x67,0x68,0x74}
print("真正的字符串内容:")
--补全代码

s = ''

-- #t 取从第一个元素往后到最后一个不是 nil 的值的索引的下标值。
--[[有些陷阱需要注意,当我定义一个空 table 时,
    我在非起始位置赋值一个数据,这时候通过 # 返回的值是 0
]] 
for i=1,#t do
    s = s .. string.char(t[i])
end

print( s )

string.byte

已知字符串s

请把s中代表的数据,全部相加,并打印出来

s = string.char(1,2,3,4,5,6,7,8,9)
print("s内数据的和是:")
--补全代码

print(s)
print(s:byte(1,-1))
num = 0
for i=1,#s  do
    num = num + s:byte(i)
end

print(num)

string.find

已知字符串s,里面有很多相同的字符串

请找出字符串s中,所有字符串awsl的位置

使用print打印结果,结果一行一个

如字符串12awslawslaw,输出3和7

s = "12awsaslwlaawsllslllswasllalssawwlawslaw"
print("两个awsl的位置分别是:")
--补全代码

Start,End = 0,0
-- print(#s)
-- print(string.find(s,'awsl'))
i=1
while i<#s do
    Start, End = string.find(s,'awsl', i)
    if End == nil then
        break
    end
    print(Start)
    i = End+1
end

string.gsub

已知字符串变量s,请分别打印出(每种一行):

把字符串s中,前5个a,替换为b

把字符串s中,前3个c,替换为xxx

把结果打印出来,一行数据

s = "asdicagydausckfugdaflgscdabgsdbahhacbshbsd"
print("s变换前的值:",s)
--补全代码
r = s:gsub("a","b",5)
-- print("s变换后的值:", r)
r = r:gsub("c","xxx",3)

print("s变换后的值:", r)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/566528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】运算符重载(日期类的实现)

【C】运算符重载&#xff08;日期类的实现&#xff09; 前言运算符重载operator全局和类中 日期类的实现成员变量的确定构造函数拷贝构造 运算符重载部分的重载思路实现GETmonthdayoperator 的重载思路实现 -的与-的重载实现 各个比较运算符的重载实现 前置与后置实现 &#xf…

接口自动化【六】——接口关联之jsonpath提取+设置全局变量+通用封装

文章目录 前言一、jsonpath提取二、jsonpath与excel当中提取表达式结合三、类的动态属性设置四、设置全局变量&#xff08;这个模块就作为一个讲解&#xff09;五、new_handle_global_data.py六、new_handle_extract.py七、test_new_upload_image.py 文件中上传图片的代码更改八…

mybatis 在当前项目中的实际应用及自定义分页的实现

mybatis 在当前项目中的实际应用及自定义分页的实现 项目中分页代码的解耦 实现目标 实现目标&#xff0c;使用spring 提供的分页相关的类&#xff0c;避免代码中直接使用PageHelper 具体实现 创建自定义PageHelper&#xff0c;并使用spring-data-common提供的具体实现类操…

OTA升级技术概览

随着物联网技术的不断发展&#xff0c;越来越多的设备和系统需要进行远程升级以保持其安全性和功能性。OTA&#xff08;Over-the-Air&#xff09;升级技术是一种通过无线网络远程升级固件或软件的方法&#xff0c;已经成为现代工业、智能家居、汽车等领域中广泛应用的技术。本文…

欧拉公式——最令人着迷的公式之一

欧拉公式是数学里最令人着迷的公式之一&#xff0c;它将数学里最重要的几个常数联系到了一起&#xff1a;两个超越数&#xff1a;自然对数的底e&#xff0c;圆周率π&#xff1b;两个单位&#xff1a;虚数单位i和自然数的单位1&#xff0c;以及数学里常见的0。 ​而且它对数学领…

generate 和 summary 配合——解析 bingchat 逻辑

generate 和 summary 配合——解析 bingchat 逻辑 new bing 微软作为 openai 公司背后的大股东&#xff0c;多年投入一朝开花结果&#xff0c;当然要把 ChatGPT 技术融入到自己的核心产品中&#xff0c;提升整体生产力。微软的第一个措施&#xff0c;就是在必应搜索引擎 bing…

chatgpt赋能Python-python_span_抓取

介绍 随着互联网的不断发展&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已成为所有网站主人必须面对的问题。在SEO中&#xff0c;抓取是一个非常重要的环节&#xff0c;也是一个关键性的步骤&#xff0c;它直接影响到网站的排名。 在Python编程中&#xff0c;有很多…

Mac上安装多个版本的MySQL

文章目录 准备工作先确定自己机器是多少位的下载包 具体步骤1. 先安装低版本的MySQL2. 清理完后&#xff0c;再安装高版本的MySQL3. 将低版本的文件夹移回 /usr/local4. 切换版本5. 验证 扩展清理命令其他信息 准备工作 先确定自己机器是多少位的 uname -a输出X86_64&#xf…

【Error】Python3.7 No module named ‘_sqlite3‘ 解决方案

场景&#xff1a;docker容器运行keybert时出现错误 No module named ‘_sqlite3‘&#xff0c;是容器环境没有sqlite的库&#xff0c;如下图所示&#xff1a; 本机是能够正常导入sqlite3的&#xff0c;虚拟环境conda下也有该库。 python3.8版本的不可用于python3.7中&#xff0…

【LeetCode】169. 多数元素

169. 多数元素&#xff08;简单&#xff09; 方法一&#xff1a;sort排序&#xff0c;时间复杂度为O(nlogn) 思路 我自己的写法用了最简单的方法&#xff0c;首先使用 sort() 对数组元素按照从小到大进行排序&#xff0c;然后依次遍历每个元素&#xff0c;如果该元素的出现次…

CompletableFuture 异步编排如何使用?

概述&#xff1a; 在做提交订单功能时&#xff0c;我们需要处理的事务很多&#xff0c;如&#xff1a;修改库存、计算优惠促销信息、会员积分加减、线上支付、金额计算、生成产品订单、生成财务信息、删除购物车等等。如果这些功能全部串行化处理&#xff0c;会发费很长的时间…

【盘点】界面控件DevExpress WPF的几大应用程序主题

DevExpress WPF控件包含了50个应用程序主题和40个调色板&#xff0c;用户可以在发布应用程序是指定主题&#xff0c;或允许最终用户动态修改WPF应用程序的外观和样式&#xff0c;其中主题带有调色板&#xff0c;可以进一步个性化您的UI&#xff01; PS&#xff1a;DevExpress …

oracle WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK问题分析

服务概述 财务系统出现业务卡顿&#xff0c;数据库实例2遇到>>> WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK! <<<错误导致业务HANG住。 对此HANG的原因进行分析&#xff1a; 故障发生时&#xff0c;未有主机监控数据&#xff0c;从可以获取的数据库A…

c++ 11标准模板(STL) std::map(三)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…

使用Linkage Mapper工进行物种分布建模的步骤详解(含实际案例分析)

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Linkage Mapper解密数字世界链接 文章目录 引言:一、介绍二、数据准备2.1 物种分布数据获取2.2 环境变量数据获取2.3 数据预处理

【拼多多API 开发系列】百亿补贴商品详情接口,代码封装

为了进行电商平台 PDD 的API开发&#xff0c;首先我们需要做下面几件事情。 1&#xff09;开发者注册一个账号 2&#xff09;然后为每个 PDD 应用注册一个应用程序键&#xff08;App Key) 。 3&#xff09;下载 PDD API的SDK并掌握基本的API基础知识和调用 4&#xff09;利用SD…

CSS布局:浮动与绝对定位的异同点

CSS布局&#xff1a;浮动与绝对定位的异同点_cherry_vincent的博客-CSDN博客 浮动 ( float ) 和绝对定位 ( position:absolute ) 相同点&#xff1a; &#xff08;1&#xff09;都是漂起来( 离开原来的位置 ) &#xff08;2&#xff09;并且都不占着原来的位置 &#xff08;3…

Flutter 笔记 | Flutter 布局组件

布局类组件都会包含一个或多个子组件&#xff0c;布局类组件都是直接或间接继承SingleChildRenderObjectWidget 和MultiChildRenderObjectWidget的Widget&#xff0c;它们一般都会有一个child或children属性用于接收子 Widget。 不同的布局类组件对子组件排列&#xff08;layo…

企业级WordPress开发 – 创建企业级网站的优秀提示

目录 “企业级”是什么意思&#xff1f; 使用WordPress创建企业级网站有什么好处&#xff1f; 使用 WordPress 进行企业开发的主要好处 WordPress 可扩展、灵活且价格合理 WordPress 提供响应式 Web 开发 WordPress 提供了巨大的可扩展性 不断更新使 WordPress 万无一…

JAVA-创建PDF文档

目录 一、前期准备 1、中文字体文件 2、maven依赖 二、创建PDF文档方法 三、通过可填充PDF模板将业务参数进行填充 1、 设置可填充的PDF表单 2、代码开干&#xff0c;代码填充可编辑PDF并另存文件 一、前期准备 1、中文字体文件 本演示使用的是iText 7版本&#xff0c…