小编inf*_*ion的帖子

python中的控制台选择菜单

我有一个想法在 python 中创建一个控制台选择菜单,如下所示:

Choose an option:
> 1. Do something 1 <
  2. Do something 2
  3. Do something 3
  4. Do something 4
Run Code Online (Sandbox Code Playgroud)

如果我按向上箭头键,则没有任何反应。如果我按下一个,小于和大于符号会像这样上下移动:

Choose an option:
  1. Do something 1 
> 2. Do something 2 <
  3. Do something 3
  4. Do something 4
Run Code Online (Sandbox Code Playgroud)

但我不知道哪个 Python 3 模块可以帮助我捕捉按键而不是input(),并且不知道如何正确对齐它。

我的对齐解决方案是打印空格(也许?),当按键事件被捕获时,控制台将被清除并再次打印选择菜单而不是更改/修改字符串。

此外,选项将从列表中获取,这意味着此菜单是可扩展的

python algorithm

4
推荐指数
3
解决办法
1万
查看次数

在[a,b]间隔之间找到相同的数字

假设我有3个连续数字数组

a = [1, 2, 3]
b = [2, 3, 4]
c = [3, 4]
Run Code Online (Sandbox Code Playgroud)

那么,在所有3个数组中出现的相同数字是3。我的算法是使用for彼此之间的两个循环来检查相同的数组并将其推入另一个数组(我们称之为d)。然后

d = [2, 3] (d = a overlap b)
Run Code Online (Sandbox Code Playgroud)

并再次使用它检查数组,d然后c=>最终结果为1,因为在所有3个数组中仅出现1个数字。

e = [3] (e = c overlap d) => e.length = 1
Run Code Online (Sandbox Code Playgroud)

除此之外,如果仅存在1个数组,则算法应返回数组的长度,因为其所有数字均会出现在数组中。但是我认为我上面所说的算法会花费很长时间,因为数组的数量最多可以达到10 ^ 5。那么,有什么更好的算法的想法吗?

c++ algorithm

1
推荐指数
1
解决办法
54
查看次数

从数字到0最快的方法

因此,我有这样的作业:

给定两个数字n并且k可以达到long long限制,我们执行以下操作:

  • 分配n = n / k是否n可被k
  • 减少n的1,如果n不是整除k

找到从n到的最少操作数0。

这是我的解决方案

#define ll long long

ll smallestSteps(ll n, ll k) {
    int steps = 0;
    if (n < k) return n;
    else if (n == k) return 2;
    else {
        while (n != 0) {
            if (n % k == 0) {
                n /= k;
                steps++;
            }
            else …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

0
推荐指数
1
解决办法
130
查看次数

标签 统计

algorithm ×3

c++ ×2

python ×1