
Lv.1
热爱编程的可乐,岛三号是 @可乐OωO
签名:在学习/编程() 学/肝box3|py|前端|unity 1首页推荐 平时很欧但有时很非 ------------------------------ 注:我不喜欢可乐哦(真的!),所以才叫这个(乱起的(什 ------------------------------ 今年没flag,淡退,时不时回来看看
在 算24点!真正的编程!为C党,C++党,Pascal党,Python党等喝彩! 中回复
Python代码在这里~我已经编好了
#二十四点
import os
import time
from time import sleep
from time import perf_counter
global Goal,MaxAllowRetryNum,Count
Goal,MaxAllowRetryNum,Count=24,3,0
#输出程序相关信息
def ptintInfo():
print('''" 经典 24 点 "''')
print(" 请用户输入四个正整数值 ")
print(" 单个数值提供三试错机会。若机会用完,程序倒计时5秒退出 ")
print(" 将输出所有的24点方案,并对方案进行计数 ")
print(" 若无方案,程序退出,输出0 ")
def printSatistics(times):
print("一共有{}种方案".format(Count))
#得到四个用户输入值
def getNumbers():
a=getOneNumber("一")
b=getOneNumber("二")
c=getOneNumber("三")
d=getOneNumber("四")
print("输入的数值为:"+a+','+b+','+c+','+d)
return a+' '+b+' '+c+' '+d
#得到单个用户输入值
#单个提供三次试错机会,(不包括第一次输入)
#试错机会用完后,程序倒计时五秒强制退出
def getOneNumber(temp):
global MaxAllowRetryNum
for tryies in range(MaxAllowRetryNum+1):
num=input("请输入第{}个值:".format(temp))
try:
num=int(eval(num))
if num > 0:
break
else:
print("请核对输入信息,还剩余{}次机会".format(MaxAllowRetryNum-tryies))
except:
print("请核对输入信息,还剩余{}次机会".format(MaxAllowRetryNum-tryies))
if tryies == MaxAllowRetryNum:
for i in range(5):
print("\r所有次数已用完,程序将在{}秒后退出".format(5-i))
sleep(1)
print("\n")
os._exit(0)
return str(num)
#穷举所有的数值列表
#共4!=24种
def getNumList(numbers):
items=numbers.split()
#四重循环遍历穷举所有的数值组合
#data_list = []
# for i in range(4):
# for j in range(4):
# if i!=j:
# for p in range(4):
# if p!=i and p!=j:
# for q in range(4):
# if q!=i and q!=j and q!=p:
# data_list.append(items[i]+' '+items[j]+' '+items[p]+' '+items[q])
data_list = [(items[i]+' '+items[j]+' '+items[p]+' '+items[q]) for i in range(4) for j in range(4) for p in range(4) for q in range(4) if (i != j) &(i != p) &(i != q) &(j != p) &(j != q) &(p != q)]
#使用set方法排除冗余的数字组合
#当输入的数字中存在重复数字,则4!=24种排序方案会存在重复,必须排除
return set(data_list)
#穷举所有的操作符列表
#共4x4x4=喵种
def getOplist(ops):
# op_list_orgin=ops
# op_list=[]
#三重循环遍历穷举
# for i in range(4):
# for j in range(4):
# for p in range(4):
# item=str(op_list_orgin[i])+' '+str(op_list_orgin[j])+' '+str(op_list_orgin[p])
# op_list.append(item)
op_list=[ops[i]+' '+ops[j]+' '+ops[p] for i in range(4) for j in range(4) for p in range(4)]
return op_list
#计算24点
def Cal(num_list,opt_list):
for numlist in num_list:
nums=numlist.split()
for oplist in opt_list:
ops=oplist.split()
Cal24(nums,ops)
#对单种运算符顺序和单种数字顺序进行组合运算
def Cal24(nums,op):
global Goal,Count
#第一种情况 ((num0 op0 num1)op1 num2)op2 num3
try:
if round(eval("(("+nums[0]+op[0]+nums[1]+")"+op[1]+nums[2]+")"+op[2]+nums[3]),0) == Goal:
Count+=1
print("(({}{}{}){}{}){}{}={}".format(\
nums[0], op[0], nums[1], op[1], nums[2], op[2], nums[3], Goal))
except:
pass
#第二种情况 (num0 op0 num1) op1 (num2 op2 num3)
try:
if round(eval("("+nums[0]+op[0]+nums[1]+")"+op[1]+"("+nums[2]+op[2]+nums[3]+")"), 0) == Goal:
Count += 1
print("({}{}{}){}({}{}{})={}".format(\
nums[0], op[0], nums[1], op[1], nums[2], op[2], nums[3], Goal))
except:
pass
#第三种情况 ( num0 op0 ( num1 op1 num2 )) op2 num3
try:
if round(eval("("+nums[0]+op[0]+"("+nums[1]+op[1]+nums[2]+"))"+op[2]+nums[3]), 0) == Goal:
Count += 1
print("({}{}({}{}{})){}{}={}".format(\
nums[0], op[0], nums[1], op[1], nums[2], op[2], nums[3], Goal))
except:
pass
#第四种情况 num0 op0 (( num1 op1 num2 ) op2 num3 )
try:
if round(eval(nums[0]+op[0]+"(("+nums[1]+op[1]+nums[2]+")"+op[2]+nums[3]+")"), 0) == Goal:
Count += 1
print("{}{}(({}{}{}){}{})={}".format(\
nums[0], op[0], nums[1], op[1], nums[2], op[2], nums[3], Goal))
except:
pass
#第五种情况 num0 op0 ( num1 op1 ( num2 op2 num3 ))
try:
if round(eval(nums[0]+op[0]+"("+nums[1]+op[1]+"("+nums[2]+op[2]+nums[3]+"))"), 0) == Goal:
Count += 1
print("{}{}({}{}({}{}{}))={}".format(\
nums[0], op[0], nums[1], op[1], nums[2], op[2], nums[3], Goal))
except:
pass
if __name__ == '__main__':
ptintInfo()
numbers=getNumbers()
start=perf_counter()
num_list=getNumList(numbers)
opt_list=getOplist('+-*/')
Cal(num_list,opt_list)
printSatistics(perf_counter()-start)2020-05-10T11:27:18 点赞:0
在 【Box3代码教程(一)】事件 中回复
示例代码被屏蔽词搞坏了
正确的代码好像是(我也记不清原文是啥了):
world.onPlayerJoin(({ entity }) => {//当玩家进入时
entity.position.set(3, 8, 125);//将实体移动到x:3,y:8,z:125的位置
entity.player.spawnPoint.copy(entity.position);//把 玩家的复活点复制为实体 位置(x:3,y:8,z:125,刚刚移动过)
world.say(`欢迎 ${entity.player.name} !`);//这里为啥要用反引号呢,因为在js中,反引号里可以用${code}插 入代码
})//万能框架2020-10-05T08:55:43 点赞:0
在 【岛3-API教程3!】用方块检测,做一片刀山火海🌋 中回复
for (var i = 0; i < 300; i++) { // 300个随机圆柱体构成场景
let x = Math.random() * 125 // x坐标
let y = 9 + Math.random() * 9 //y坐标
let z = Math.random() * 125 // z坐标
let h = Math.random() * 4 // 高 0~4
let r = 2 + Math.random() * 5 //半径 2~7
cylinder(x, y, z, 'dirt', r, h)
}
改高度就行了捏(这是全部地图的一部分代码)
2020-11-06T20:02:54 点赞:0
在 【js进阶教程】闭包怎么用?可乐的JavaScript进阶教程(1)--了解闭包、闭包的使用 中回复
才发现有点部分打错了
第三部分
++a:运算过程中先执行自加运算,之后再运行a表达式。
是自加,粘贴忘记改了()
-----------------------------------------------------------------
如果用counter++,那运行结果就是2
因为第一个a()的返回值为0
-----------------------------------------------------------------
思考题
1.
//此段代码为前端 请勿用node运行~
var name = "我是窗口";
var obj = {
name: "我是对象",
getName: () => {
return () => {
return this.name;
};
},
}
alert(obj.getName()());
2.
//此段代码为前端 请勿用node运行~
var name = "我是窗口";
var obj = {
name: "我是对象",
getName: () => {
var that = this;
return () => {
return that.name;
};
},
}
alert(obj.getName()());
思考题涉及到了一个很重要的知识点:this关键字
2021-02-18T09:06:07 点赞:0
在 【每日一个岛3建图小技巧】如何用Math.random()生成随机数? 中回复
Math.random()*10+70
Math.random()乘个10就表示1~10之间的随机数
再加上70就是70~80之间的随机数
2021-02-18T21:25:36 点赞:1
在 求人告诉我,为什么他们打代码这么厉害?这些代码有什么方式更容易懂吗? 中回复
// 是注释啊 执行代码的时候不会执行 // 以后的语句
还有这是最基础的代码了
喵的话 可以看API
(API这东西有点难懂)
也可以看吉吉喵的API教程
https://space.bilibili.com/457121974/video
(这是吉吉喵的所有视频,可以选择API教程去看)
2021-04-17T09:07:37 点赞:0
在 【box3】求助:谁知道岛三的模型文件(.vd)的数据的规律。? 中回复

刚刚随便建了几个模型导出,发现"ENCODEVOXELS"这段之前的JSON都是固定的
上面那个模型的"ENCODEVOXELS":

看了一下 貌似有那么一点规律
另外一个发现:"ENCODEVOXELS"前面都是三个32, 0, 0, 0
数字代表什么方块目前还木有发现
还有我只是一个萌新啊
2021-04-17T09:49:06 点赞:0
在 【岛3】sql保存怎么弄 中回复
values里要加${}的,调用外部的值
VALUES(
${entity.jinbi},
${entity.player.userKey}
)
而且savePlayer()最后一个语句excluded只有一个属性(jinbi)的话不能加逗号
就这样:
jinbi=excluded.jinbi
大小写没有错哦 sql关键字大小写都可~
2021-04-17T18:12:01 点赞:0
在 【社区首档TypeScript教程】1. 导语、语法基础和变量基础 【纯原创】 中回复
// 声明狭义上的变量,可多次赋值,使用 var 关键字
var 变量名;
变量名 = 值;
// 也可以写作
var 变量名 = 值;
引号错了哦 是英文的
应改为:
// 声明狭义上的变量,可多次赋值,使用 var 关键字
var 变量名;
变量名 = 值;
// 也可以写作
var 变量名 = 值;2021-04-24T17:10:44 点赞:0
在 喵门编程语言?它比Python更合适 中回复
新手学哪个可以自行选择哒() 学ts也可以,虽然是js的超集,只不过它和js有一点点区别 简单来说就是一个动态一个静态()一个灵活一个很稳() py的话是对新手最友好的语言语法简单轮子也很多()
2021-04-28T18:53:54 点赞:0
在 【Python作品分享】我的世界【作品秀】 中回复
友情提示:请标明原作者哦 可以借鉴代码,但不可以完全抄袭呀~
https://github.com/fogleman/Minecraft
2021-04-30T17:43:32 点赞:0
在 岛3求代码 中回复
先在地图中放置一个密码门,命名为密码门
c喵t door = world.querySelector('#密码门');
door.enableInteract = true;
door.interactHint = '密码门';
let password=123456;//密码,自己修改
door.onInteract(async({entity})=>{
c喵t d = await entity.player.dialog({
type:Box3DialogType.INPUT,//输入对话框
content:'请输入密码',
confirmText:'确定',
});
if (d) {
if (d==password){
entity.position.set(1,1,1);//这里填位置,分别是x,y,z
await entity.player.dialog({
type:Box3DialogType.TEXT,
content:'密码正确',
});
} else {
await entity.player.dialog({
type:Box3DialogType.TEXT,
content:'密码错误',
});
}
}
});
而且一直这样求代码是不行哒
建议先学一学JavaScript语法,再看看API或者吉吉喵的教程视频,代码很快就能学会
2021-05-01T14:09:21 点赞:0
在 关于box3的。需帮忙! 中回复
这个很简单啊 吉吉喵发过帖子 代码是:world.onPlayerJoin(({entity})=>{/*监听当玩家进入时*/entity.position.set(3,8,125);/*出生点设置成x:3,y:8,z:125,也可以自定义*/entity.player.spawnPoint.copy(entity.position);/*玩家的重生点(掉下之后的复活点、forceRespawn时的复活点)复制成玩家的位置(x:3,y:8,z:125),也可以自定义*/});
2021-05-18T14:05:14 点赞:1
在 【box3.0】SQL教程--创建02 中回复
详细一点解释的话
PRIMARY KEY是主键呀
所谓主键,就是可以唯一标识表中某一行的属性(或属性组),
就是可以确保执行数据更新、删除灯操作的时候不会出现这种搞错对象分不清,张冠李戴的错误
UNIQUE是禁止出现相同值
2021-06-02T21:32:19 点赞:0