猫史档案馆


爱探险的可乐呀

爱探险的可乐呀

Lv.1

热爱编程的可乐,岛三号是 @可乐OωO

获赞:1560收藏:985浏览:75999作品收藏:3350

签名:在学习/编程() 学/肝box3|py|前端|unity 1首页推荐 平时很欧但有时很非 ------------------------------ 注:我不喜欢可乐哦(真的!),所以才叫这个(乱起的(什 ------------------------------ 今年没flag,淡退,时不时回来看看

回复帖子评论
上一页1 页 / 共 6下一页

算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建图招募】Science and Technology City!限时招募! 中回复

建筑代码都行

2020-07-19T20:05:18 点赞:0

【Box3代码教程(一)】事件 中回复

示例代码被屏蔽词搞坏了emotion_吃惊

正确的代码好像是(我也记不清原文是啥了)

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

【Box3代码教程(二)】常用方法 中回复

帖子里的“喵”均为满 足哦~

2020-10-06T14:44:47 点赞: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

【可乐Box3干货(一)】教你如何做一台超实用的电梯!(附完整代码) 中回复

Hey大家好

如果有什么问题或建议可以评论哦

下一期会出音乐视频~

2020-12-01T20:29:45 点赞:1

【抢先爆料】双端推荐统一,标签丰富化! 中回复

前排

2021-02-02T19:16:59 点赞:0

【js进阶教程】闭包怎么用?可乐的JavaScript进阶教程(1)--了解闭包、闭包的使用 中回复

例子的代码有个小彩蛋 看看谁能找到

2021-02-16T19:47:45 点赞:0

【js进阶教程】闭包怎么用?可乐的JavaScript进阶教程(1)--了解闭包、闭包的使用 中回复

2021-02-16T20:19:28 点赞: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

【js进阶教程】闭包怎么用?可乐的JavaScript进阶教程(1)--了解闭包、闭包的使用 中回复

思考题是太难了吗没人做()

2021-02-19T09:52:44 点赞:0

【js进阶教程】闭包怎么用?可乐的JavaScript进阶教程(1)--了解闭包、闭包的使用 中回复

2021-02-19T10:53:15 点赞:0

教教我谢谢! 中回复

第13行 nqc.id 应该是 npc.id 哦 报错显示的是“nqc”未定义

2021-03-20T15:29:50 点赞:0

教教我谢谢! 中回复

而且你已经遍历了所有名字为 男服务员 的实体,不用再判断一次npc.id

2021-03-20T15:38:37 点赞:0

求人告诉我,为什么他们打代码这么厉害?这些代码有什么方式更容易懂吗? 中回复

// 是注释啊 执行代码的时候不会执行 // 以后的语句

还有这是最基础的代码了

喵的话 可以看API

https://docs.box3.codemao.cn

(API这东西有点难懂)

也可以看吉吉喵的API教程

https://space.bilibili.com/457121974/video

(这是吉吉喵的所有视频,可以选择API教程去看)

2021-04-17T09:07:37 点赞:0

【box3】求助:谁知道岛三的模型文件(.vd)的数据的规律。? 中回复

 

center_image

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

上面那个模型的"ENCODEVOXELS":

center_image

看了一下 貌似有那么一点规律

另外一个发现:"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

box3大佬求教!!!! 中回复

for (let i = 0; i < 你循环的次数; i++) {

    要写的代码

}

2021-04-17T18:52:08 点赞:0

【SQL】SQL教程第一弹-认识与创建SQL表格 中回复

啊这 应该是 CREATE TABLE IF NOT EXISTS 不是 EXITS

2021-04-20T21:09:31 点赞: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

岛3求大佬!!! 中回复

啥报错啊?不知道什么报错的话就不知道这啥问题了

语法好像是没问题的(没仔细看emotion_doge

2021-04-30T17:37:27 点赞: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

【Python作品分享】我的世界【作品秀】 中回复

texture.png↓

center_image

2021-05-02T17:49:35 点赞:0

谁才是究极整活冠军?《赤碧城》老活新整获奖名单公布 中回复

恭喜恭喜!

2021-05-08T20:15:39 点赞: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

袁隆平逝世 中回复

emotion_蜡烛

2021-05-22T18:56:12 点赞:0

【box3.0】SQL教程--创建02 中回复

详细一点解释的话

PRIMARY KEY是主键呀

所谓主键,就是可以唯一标识表中某一行的属性(或属性组),

就是可以确保执行数据更新、删除灯操作的时候不会出现这种搞错对象分不清,张冠李戴的错误

UNIQUE是禁止出现相同值

2021-06-02T21:32:19 点赞:0