RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
artem.dev
Asked: 2025-01-06 00:30:30 +0000 UTC

命令输入错误不会显示,但控制台会被简单地清除。蟒蛇[重复]

  • 5
这个问题已经在这里得到回答:
使用 或 比较变量与多个值无法正常工作 (3 个答案)
昨天关门了。

在代码中,当您输入错误的命令时,不会显示消息“无效命令”,控制台会被清除,当您输入命令“游戏”时也会出现同样的情况代码:

from tqdm import tqdm
import os
import time
system = True
def clickgame():
    work = True
    moneyplus = 5
    money = 0
    moneta =("""

        
        (5$)


    """)
    print(moneta)
    print(money)
    while work == True:
        click = input()
        money = money + moneyplus
        os.system('cls')
        print(moneta)
        print(money)
        if money == 2000:
            moneta = """

        
        (10$)


    """
            moneyplus = 10
            print('Теперь Вы получаете 10 монет за 1 клик. Следующий уровень - 15 монет за 1 клик за 5000 очков')
        elif money == 5000:
            print('Теперь Вы получаете 15 монет за 1 клик. Следующий уровень - 25 монет за 1 клик за 10000 очков')
            moneta = """

        
        (15$)


    """
            moneyplus = 15

        elif money == 10010:
            moneta = """

        
        (25$)


    """
            moneyplus = 25

            print("Теперь Вы получаете 25 монет за 1 клик. Следующий уровень - 40 монет за 1 клик за 25000 очков")
        elif money == 25010:
            print("Теперь Вы получаете 40 монет за 1 клик. Это последний уровень прокачивания.")
            moneta = """

        
        (40$)


    """
            moneyplus = 40

        elif click == 'quit':
            work = False
            

def start():
    print("PythonOS")
    time.sleep(0.4)
    print("RAM - 256 MB")
    time.sleep(0.1)
    print("MEMORY - 512 MB")
    time.sleep(1)
    print("PythonOS is starting...")
    for i in tqdm(range(20)):
        time.sleep(0.1)
        if i == 20:
            break
    os.system('cls')
name = input("Введите ваше имя > ")
start()
print("Введите 'help', чтобы показать все команды")
while system == True:
    user_input = input("C:\\" + name + "\\> ")
    if user_input == "help":
        print("""
    Все команды:
    'help' - все команды
    'calc' - калькулятор
    'chance' - рассчитать вероятность
    'prime' - проверка числа на простоту
    'count' - счетчик нажатий
    'sysinfo' - информация о PythonOS
    'clear' или 'cls' - очистить консоль
    'games' - папка с играми
              
    'restart' - перезагрузить PythonOS
    'shutdown' - выключение PythonOS
    

    """)
    elif user_input == 'calc':
        a = float(input("Первое число > "))
        b = float(input("Второе число > "))
        math = input("Введите действие(+, -, *, /, ** - возведение в степень) > ")
        if math == '+':
            print("Сложение > ", a + b)
        elif math == '-':
            print("Вычитание > ", a - b)
        elif math == '/':
            print("Деление > ", a / b)
        elif math == '*':
            print("Умножение > ", a * b)
        elif math == '**':
            print(a ** b)
        else:
            print("Неверный знак действия!")
        
        
    elif user_input == 'chance':
        print("Вычисление единичной вероятности")
        good = int(input("Введите количесто благоприятных событий --> "))
        bad =  int(input("Введите количество всех событий --> "))
        if bad > good:
            theory = good / bad
            print("Вероятность по математически: ", theory)
            print("Вероятность в процентах: ", theory * 100)
        else:
            print("Событий меньше чем благоприятных! Такого не может быть.")

    elif user_input == 'prime':
        num = int(input("Введите число для проверки на простоту --> "))
        if num == 2:
            print("Число простое")
        for i in range(2, num):
            if num == 2:
                break
            elif num % i == 0:
                print("Число не простое")
                break 
            else:
                print("Число простое")
                break 
    elif user_input == 'clear' or 'cls':
        os.system('cls')
    elif user_input == 'shutdown':
        system = False
    elif user_input == 'count':
        print("Предупреждение! Счет не сохраняется.")
        countbool = True
        count = 0
        while countbool == True:
            click = input()
            count +=1
            os.system('cls')
            print(count)
    elif user_input == 'restart':
        os.system('cls')
        start()
    elif user_input == 'sysinfo':
        print("""
              
              RAM - 256 MB
              MEMORY - 512 MB
              PythonOS 1.1
              
              """)

    elif user_input == 'games':
        print("""
        Игры:
        
Кликер монет - команда 'clicker'


         """)
    elif user_input == 'clicker':
        clickgame()



    else:
        print("Неизвестная команда")


python
  • 1 个回答
  • 26 Views
Martin Hope
Aaron JJ
Asked: 2025-01-05 23:48:25 +0000 UTC

为什么无法在 DirectX11 上实现全向阴影贴图?

  • 6

看起来一切都配置正确:6 个视图矩阵、1 个投影矩阵、一个将图元转换为光源空间并将 6 个纹理写入深度缓冲区立方体贴图的几何着色器。仅当视图矩阵中的近平面和 lightPerspectiveValues 来源的矩阵不同(分别为 0.1f 和 1.0f)时,它才起作用。但结果并不相同 - 远处的物体不会被遮挡,只有那些距离点光源很近的物体才会被遮挡。我在 HLSL 开发书籍和这篇文章中看到了该技术: https: //habr.com/ru/articles/259679/

结果

void TestApplication::PrepareLightViewMatrixes(glm::vec3 lightPos)
{
    glm::vec3 vectors[] =
    {
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(1.0f,  0.0f,  0.0f), glm::vec3(0.0f, 1.0f,  0.0f),
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(-1.0f,  0.0f,  0.0f), glm::vec3(0.0f, 1.0f,  0.0f),
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(0.0f,  1.0f,  0.0f), glm::vec3(0.0f,  0.0f,  -1.0f),
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(0.0f, -1.0f,  0.0f), glm::vec3(0.0f,  0.0f, 1.0f),
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(0.0f,  0.0f,  1.0f), glm::vec3(0.0f, 1.0f,  0.0f),
        glm::vec3(0.f, 0.f, 0.f), glm::vec3(0.0f,  0.0f, -1.0f), glm::vec3(0.0f, 1.0f,  0.0f)
    };

    m_DepthCaptureViews =
    {
        glm::lookAtLH(lightPos, lightPos + vectors[1], vectors[2]),
        glm::lookAtLH(lightPos, lightPos + vectors[4], vectors[5]),
        glm::lookAtLH(lightPos, lightPos + vectors[7], vectors[8]),
        glm::lookAtLH(lightPos, lightPos + vectors[10], vectors[11]),
        glm::lookAtLH(lightPos, lightPos + vectors[13], vectors[14]),
        glm::lookAtLH(lightPos, lightPos + vectors[16], vectors[17])
    };
}

glm::mat4 lightProjMat = glm::perspectiveLH(XM_PIDIV2, 1.f, 0.1f, 100.f);

///// Передаю lightPerspectiveValues и матрицы через константный буфер /////

XMMATRIX matPointProj = XMMatrixPerspectiveFovLH(XM_PIDIV2, 1.0, 1.f, 100.f);
XMFLOAT4X4 matPointProjFloat;
XMStoreFloat4x4(&matPointProjFloat, matPointProj);
lightCb.lightPerspectiveValues = glm::vec2(matPointProjFloat.m[2][2], matPointProjFloat.m[3][2]);
lightCb.cubeView[0] = glm::transpose(m_DepthCaptureViews[0]);
lightCb.cubeView[1] = glm::transpose(m_DepthCaptureViews[1]);
lightCb.cubeView[2] = glm::transpose(m_DepthCaptureViews[2]);
lightCb.cubeView[3] = glm::transpose(m_DepthCaptureViews[3]);
lightCb.cubeView[4] = glm::transpose(m_DepthCaptureViews[4]);
lightCb.cubeView[5] = glm::transpose(m_DepthCaptureViews[5]);
lightCb.cubeProj = glm::transpose(lightProjMat);

///// Геометрический шейдер /////

struct GS_OUTPUT
{
    float4 Pos : SV_POSITION;
    uint RTIndex : SV_RenderTargetArrayIndex;
};

[maxvertexcount(18)]
void GSMain(triangle float4 InPos[3] : SV_Position, inout TriangleStream<GS_OUTPUT> OutStream)
{
    for (int iFace = 0; iFace < 6; iFace++)
    {
        GS_OUTPUT output;

        output.RTIndex = iFace;

        for (int v = 0; v < 3; v++)
        {
            output.Pos = mul(InPos[v], CubeView[iFace]);
            output.Pos = mul(output.Pos, CubeProj);
            OutStream.Append(output);
        }
        OutStream.RestartStrip();
    }
}

///// Пиксельный шейдер, который берет из Depth Cubemap значения глубины и рассчитывает тени /////

float SpotShadowPCF(float3 ToPixel)
{
    float3 ToPixelAbs = abs(ToPixel);
    float Z = max(ToPixelAbs.x, max(ToPixelAbs.y, ToPixelAbs.z));
    float Depth = (lightPerspectiveValues.x * Z + lightPerspectiveValues.y) / Z; 
    return depthMap.SampleCmpLevelZero(comparisonSampler, ToPixel, Depth);
}

float3 CalcLight(float3 position, float4 lightSpacePosition, float3 normal, float4 diffuseColor)
{
    float3 ToLight = normalize(lightPos.xyz - position.xyz);

    float NDotL = saturate(dot(ToLight, normal));
    float3 finalColor = diffuseColor.rgb * NDotL;
    
    float shadowAtt = SpotShadowPCF(position.xyz - lightPos.xyz);
    
    finalColor *= shadowAtt;
    
    return finalColor;
}

float4 PSMain(Input input) : SV_Target
{
    float4 diffuseColor = albedoMap.Sample(textureSampler, input.uv);
    
    if (diffuseColor.a < 0.1f)
        discard;
    
    float3 ambient = diffuseColor.xyz * 0.1;
    
    float3 color = CalcLight(input.fragPos, input.lightViewPosition, input.normal, diffuseColor);
    return float4(ambient + color, 1.f);
}
разработка-игр
  • 1 个回答
  • 51 Views
Martin Hope
Amogus
Asked: 2025-01-05 20:22:50 +0000 UTC

该函数不接受列表的错误

  • 5

我有一个函数role,它接受一个数字并返回一个对象。 remove_roles接受self和*Role。我a通过迭代文件中的值并将它们应用到它们来创建一个列表role

a = [role(rank['role']) for rank in load(open('data.json', encoding='utf-8'))['ranks']]

但是当我使用它时await object.remove_roles(a),我收到一条错误消息,说我需要传递值,而不是列表。有什么方法可以将列表转换a为一组值或以其他方式解决我的问题?

python
  • 1 个回答
  • 17 Views
Martin Hope
Чёрный Монах
Asked: 2025-01-05 20:13:08 +0000 UTC

从指针到指针的常量指针到常量数据

  • 8
#include <stdio.h>
#include <iso646.h>
#include <stdlib.h> 

#define FAIL exit(EXIT_FAILURE);

void check_params(const int params_count, char ** params) // const char ** const params - error
{
    if (not ((params_count == 2) and (params != NULL) and (params[1] != NULL)))
    {
        puts("Input params check failed. Program terminated.");
    
        FAIL
    }
}

int main(int params_count, char * params[])
{           
    check_params(params_count, params);     
}

如何在被调用函数中正确创建指向常量数据的常量指针,这可能吗?函数中必须不能更改参数中的任何数据。

更新 @Harry 提出的解决方案抛出一个错误:

$ gcc test.c -Wall -Wextra --pedantic --std=c23
   test.c: In function ‘main’:
   test.c:19:32: error: passing argument 2 of ‘check_params’ from incompatible pointer type [-Wincompatible-pointer-types]
  19 |     check_params(params_count, params);
     |                                ^~~~~~
     |                                |
     |                                char **
   test.c:7:70: note: expected ‘const char * const* const’ but argument is of type ‘char **’
   7 | void check_params(const int params_count, const char * const * const params)
c
  • 1 个回答
  • 63 Views
Martin Hope
Петрович
Asked: 2025-01-05 19:56:52 +0000 UTC

对使用 Array.from 创建的数组进行过滤或

  • 6

最近在学JS。帮我解决以下问题:

有一个 NodeList,您需要从中提取 ID 及其值。您需要获取 3 个数组(按 ID),从中提取 VALUE

ID 看起来像这样:

visota_proema_custom_порядковый номер  
shirina_proema_custom_порядковый номер  
kolich_proema_custom_порядковый номер  

我试过这个

let customProem = Array.from (document.querySelectorAll('[id*="_proema_custom"]'));
 

  let result = customProem.filter(function(val){
   return val == visota_proema_custom1;

    
  })
  console.log (customProem);
  console.log (result);
<div class="row">
  <div id="orig_inp">
  </div>
  <div id="custom_proem_2">
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Высота проема, м</span>
        <input id="visota_proema_custom2" value="1.6" type="number" class="form-control">
      </div>
    </div>
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Ширина проема, м</span>
        <input id="shirina_proema_custom2" value="1.8" type="number" class="form-control">
      </div>
    </div>
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Количество, шт</span>
        <input id="kolich_proema_custom2" value="3" type="number" class="form-control">
      </div>
    </div>
  </div>
  <div id="custom_proem_1">
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Высота проема, м</span>
        <input id="visota_proema_custom1" value="1.6" type="number" class="form-control">
      </div>
    </div>
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Ширина проема, м</span>
        <input id="shirina_proema_custom1" value="1.8" type="number" class="form-control">
      </div>
    </div>
    <div>
      <div class="input-group m-3">
        <span class="input-group-text">Количество, шт</span>
        <input id="kolich_proema_custom1" value="3" type="number" class="form-control">
      </div>
    </div>
  </div>
</div>

javascript
  • 2 个回答
  • 38 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5