小编Bak*_*riu的帖子

总结一下IO Float列表:Haskell中的[IO Float]

所以我在哈斯克尔身上愚弄,试着自己去学习.我正在尝试解决某个问题,我应该创建一个随机数列表然后总结它们.

我有生成它们的代码 - 使用getStdRandomrandomR.使用它们都返回一个列表IO Float:[IO Float]

现在,当我尝试使用say foldl或foldr总结列表,或者甚至尝试简单的递归求和时,我得到错误等等 - 据我所知这是因为IO Float是monad,所以我需要做一些Haskell魔法来获取它工作.

我一直在谷歌搜索,并没有找到有用的东西.

有没有办法总结清单?甚至将其转换为浮点列表,以便在代码的其他部分更容易解决?

monads haskell functional-programming sum list

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

如果分母为零,或者分子和分母都为零,如何划分算子场景?

我正在尝试使用HSpec在haskell中进行TDD.因此,在为除法运算符编写特殊情况时,例如:

  • 3 / 0 => Infinity
  • 0 / 0 => Nan

如何使用Hspec测试上述案例?

haskell hspec

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

代表类型和出现:(如此)易于理解,(因此)难以编码

通过示例简要介绍类型和事件.

EX1. abbacb

a,b,c是类型.

a发生2次; b发生3次; c发生1次.

这可以更简洁地表示为[('a',2),('b',3),('c',1)](实际上,顺序无关紧要).

EX2. abbacb

ab,bb,ba,ac,cb是的类型的序列

每个序列只出现一次.

这可以表示为 [("ab",1),("bb",1),("ba",1),("ac",1),("cb",1)]

以下图形结构具有前两个相同的信息内容:

('a',2)          -- 'a'  occurs 2 times
     ('b',1)     -- "ab" occurs 1 times
     ('c',1)     -- "ac" occurs 1 times
('b',2)          -- 'b'  occurs 2 times
     ('a',1)     -- "ba" occurs 1 times
     ('b',1)     -- "bb" occurs 1 times
('c',1)          -- 'c'  occurs 1 times
     ('b',1)     -- "cb" occurs …
Run Code Online (Sandbox Code Playgroud)

haskell types linguistics

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

如果具有复合条件的语句,则针对列表中的每个项验证条件

我在这里发现了一个类似的问题,但答案似乎并不适用于我的问题.

这是我的代码:

y = 3
list1 = [1,2,3,4,5]

if y != 0 or y != list1:
    print("y is not in range")
else:
    print(y)
Run Code Online (Sandbox Code Playgroud)

它不断印刷y is not in range.

我的目标是要检查,如果y确实等于0 或者是否y不等于列表中的任何项目.


我理解上面or应该是一个and,我特别感兴趣的是如何检查y列表中包含的条件.

python if-statement python-3.x

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

是否有可能从鼠兔的每个队列消费?

我正在尝试设置一个程序,它将从RabbitMQ中的每个队列中消耗,并根据某些消息运行某些脚本.不幸的是,当添加消费者时,如果它遇到单个错误(即没有找到超时或队列),则整个通道都已死亡.此外,队列来来去去,所以它必须经常刷新队列列表.这甚至可能吗?到目前为止,这是我的代码.

import pika
import requests
import sys

try:
    host = sys.argv[1]
except:
    host = "localhost"

def get_queues(host="localhost", port=15672, user="guest", passwd="guest", virtual_host=None):
    url = 'http://%s:%s/api/queues/%s' % (host, port, virtual_host or '')
    response = requests.get(url, auth=(user, passwd))
    return response.json()

queues = get_queues(host)

def get_on_message(queue):
    def on_message(channel, method_frame, header_frame, body):
        print("message from", queue)
        channel.basic_ack(delivery_tag=method_frame.delivery_tag)
    return on_message

connection = pika.BlockingConnection(pika.ConnectionParameters(host))
channel = connection.channel()

for queue in queues:
    print(channel.is_open)
    try:
        channel.basic_consume(get_on_message(queue["name"]), queue["name"])
        print("queue added",queue["name"])
    except Exception as e:
        print("queue failed",queue["name"])
        sys.exit()

try:
    channel.start_consuming()
except KeyboardInterrupt: …
Run Code Online (Sandbox Code Playgroud)

python rabbitmq pika

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

连接两个文件中的行

考虑以下两个文件:

FILE1.TXT:

    file1line1
    file1line2
    file1line3
Run Code Online (Sandbox Code Playgroud)

FILE2.TXT

    file2line1
    file2line2
    file2line2
Run Code Online (Sandbox Code Playgroud)

我想将file1中的每一行与file2中的相应行组合在一起.

怎么能在python中完成.

您可以假设两个文件中的行数相等.

python

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

类、隐藏属性和继承

我对 OOP 和 Python 很陌生。我所知道的几乎所有内容都是自学的,因此如果您能提供一些链接供我阅读,我将不胜感激,因为我不知道为了澄清我的疑问而应该寻求的确切术语。

到目前为止,这是我的代码:

class Point(object):
    x = 2
    y = 3

    def __init__(self, x, y):
        self.x_a = x
        self.y_b = y

class RectPoint(Point):

    def __init__(self, x, y):
        self.x_1 = x
        self.y_1 = y
        self.dist = (x*x + y*y)**0.5


class CircPoint(Point):
    pass

a = Point(3,4)
b = CircPoint(3,4)
c = RectPoint(3,4)

print a.x     # 2
print a.y     # 3
print a.x_a   # 3
print a.y_b   # 4
print b.x     # 2
print b.y     # 3
print b.x_a   # …
Run Code Online (Sandbox Code Playgroud)

python inheritance attributes class python-2.7

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

存储其他数据类型的数据类型是什么?

注意:我不是在询问可以使用哪些类型来存储类名,也不是要求使用解决方法来存储类名,例如反射或使用Strings.这也不是询问如何使用instanceof运算符的问题.

考虑这个例子:

A a = new A();
Class c1 = A.class;
System.out.println(a instanceof c1);    //Does not Work

Class c2 = A.class.getClass();
System.out.println(a instanceof c2);    //Does not Work

class A{}
Run Code Online (Sandbox Code Playgroud)

我知道上面的代码会失败.但我很好奇是否可以存储一个类,以便它可以像我正在键入类名本身一样工作.

System.out.println(a instanceof A);    //This will work
Run Code Online (Sandbox Code Playgroud)

我们可以保留(类)A一些变量,xx以便这可以工作吗?

System.out.println(a instanceof xx);   
Run Code Online (Sandbox Code Playgroud)

我的问题是:是否可以存储A一个变量,以便编译器将该变量看作是看到它A

注意:我不是在问如何存储A的对象.我在问是否可以存储A本身.

java variables class instanceof

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

如何在列表中搜索匹配的项目?

我正在练习明天练习考试.该文本告诉我将数据库实现到库中,以定义Item可以是书籍或杂志的s.对于每本书,我保存了姓名+作者.每个Magazine我保存的名称:

 data Item = Book String String
      | Magazine String
      deriving(Show)

data Requisition = Req String Item

type Database = [Requisition]

exDB :: Database
exDB = [Req "John" (Book "PF" "HS"),Req "Jay"(Book "Apple" "Steve Jobs"),Req "Francis"(Magazine "Forbes")]

books :: Database -> String -> [Item]
books db name = {-- what's next?-}
Run Code Online (Sandbox Code Playgroud)

现在,我需要创建一个名为的函数books :: Database -> String -> [Item],它在我的数据库中按名称搜索并向我提供该人请求的书籍.

我该怎么做呢?

haskell list abstract-data-type

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

正确计算平方根数字扩展

项目欧拉的第80号问题是:

众所周知,如果自然数的平方根不是整数,那么它是不合理的.这种平方根的十进制扩展是无限的,没有任何重复模式.

二的平方根是1.41421356237309504880...,并且前一百个十进制数字的数字和是475.

对于前100个自然数,找到所有无理平方根的前100个十进制数字的数字和的总和.

这是我为这个问题制作的代码:

from decimal import *

from math import sqrt

getcontext().prec = 100


def digitalsum(n):
    sum = 0
    for a in n:
        sum += int(a)
    return sum
total = 0
for a in range(1, 101):
    if not sqrt(a) % 1 == 0:
        ans = str(Decimal(a).sqrt())
        ans = ans[2::]
        print(a)
        print(digitalsum(ans))
        print("-------")

        total += digitalsum(ans)
print(total)
Run Code Online (Sandbox Code Playgroud)

它显示错误的答案,我认为我一路上都错过了一些东西.任何形式的帮助表示赞赏.

python square-root

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