List 尝试创建一个类似“眼科医生检查”的程序(或找到一个已经存在的程序)

List 尝试创建一个类似“眼科医生检查”的程序(或找到一个已经存在的程序),list,input,printing,rank,List,Input,Printing,Rank,我甚至不知道从哪里开始描述这个问题 我听了很多音乐,我发现当尝试对所有这些专辑进行“排名”时,可能会很困难,除非你沿着列表一次比较两张专辑,哪张更好x或y。就像在验光师那里你被问到哪一个看起来更好,一个还是两个 我要做的是找到一个已经存在的程序,或者获取一个程序的代码,该程序将: a允许您输入大量项目列表 b沿着这条线,一次比较两个选项,记录每个选项的响应 c打印出一张你的最终“结果”列表,显示你在编号列表中的选择中排名最高的一个 我几乎没有编码经验,这个问题/请求对于谷歌搜索来说太大了,所以现

我甚至不知道从哪里开始描述这个问题

我听了很多音乐,我发现当尝试对所有这些专辑进行“排名”时,可能会很困难,除非你沿着列表一次比较两张专辑,哪张更好x或y。就像在验光师那里你被问到哪一个看起来更好,一个还是两个

我要做的是找到一个已经存在的程序,或者获取一个程序的代码,该程序将:

a允许您输入大量项目列表 b沿着这条线,一次比较两个选项,记录每个选项的响应 c打印出一张你的最终“结果”列表,显示你在编号列表中的选择中排名最高的一个


我几乎没有编码经验,这个问题/请求对于谷歌搜索来说太大了,所以现在我在这里。

这里基本上有三个问题需要解决

从用户处收集列表

从列表中生成成对组合的详尽列表

从用户处收集每对的首选项

使用每对的首选项在列表上施加顺序

前三道题相当简单,但第四道题是数学讨论和出版的热门话题

下面是python3的基本脚本

这是最低可行的产品。它是完全赤裸裸的,但它的存在允许早期用户确定哪些规格应纳入下一代产品。编写代码就是定义可获得的增量。从小处做起,积极向上

如果你对学习编程感兴趣,我建议你让你的第一个目标hello world编写一个程序,将文本hello world放在屏幕上,虽然提供的示例是python3,但你现有的HTML经验可能使JS成为你开始学习的最佳语言

编辑:输出打印到文件resultfile.txt,而不是打印到终端

好了

#Written for user ECHtoplasm
# Author: Ubdussmad <mailto:ubdussmad@gmail.com>
import operator
data = []
parent = dict()


def take_inputs():
    stop = False
    while stop == False:
        z=raw_input('Enter the name of the album or enter 0 if finished: ')
        if z == '0':
            stop=True
        else:
            data.append(z)
            parent[z] = 0

def compare(data):
    for i in data:
        temp = data[:]
        temp.remove(i)
        for j in temp:
            z=raw_input('Is album  %s better than album %s (y/n): '% (i,j))
            if z.lower() == 'y':parent[i] += 1

#This loop runs for len(data)^2 - len(data)
def main():
    take_inputs()
    compare(data)
    ranks = sorted(parent.items(), key=operator.itemgetter(0))
    print '\n ------Rankings in ascending order are...-------'
    for i in ranks:
        print i[0]
main()

这是一个更干净的版本,使用Python2.7,使用的模块是“内置的”,与其他答案相比,它的方法有点不同,但仍然使用相同的概念

你会说什么语言?你是不是在尝试像spotify这样的东西?2000年初的html lol,所以不是。而且不是,我正在尝试让你可以单独手动输入每个项目,所以一旦你编译了列表,它就会开始运行比较。哈哈哈,没有什么看起来很好,所以我有一些输入,我应该在什么基础上进行比较?我们在这里讨论的是什么样的输入?用名字什么的得分?这很有效!我明白你所说的“赤裸裸”是什么意思,当你在列表中添加很多项目时,整个过程可能会非常漫长,但在这种情况下,这正是我所需要的!然而,我仍然不知道如何准确地打印完成的结果,你会怎么做?与我的方法类似,老实说,这是一个更简洁的版本!我不知道你的意思。我输入要在比较中使用的所有内容的名称,进行测试,然后在测试结束后立即关闭程序。在那之后我该怎么做才能找到结果?哈哈,这很有趣。如果从cmd运行程序,结果应打印在终端上。。。我将添加几行,以便输出写入文件。它似乎不会启动。我是否应该做与其他人的答案相同的事情,并将其粘贴到记事本中,另存为XXX.py文件?是的,将其粘贴到记事本中,然后另存为file.pyr使用python file.py运行它您使用的python版本是什么?
#Written for user ECHtoplasm
# Author: Ubdussmad <mailto:ubdussmad@gmail.com>
import operator
data = []
parent = dict()


def take_inputs():
    stop = False
    while stop == False:
        z=raw_input('Enter the name of the album or enter 0 if finished: ')
        if z == '0':
            stop=True
        else:
            data.append(z)
            parent[z] = 0

def compare(data):
    for i in data:
        temp = data[:]
        temp.remove(i)
        for j in temp:
            z=raw_input('Is album  %s better than album %s (y/n): '% (i,j))
            if z.lower() == 'y':parent[i] += 1

#This loop runs for len(data)^2 - len(data)
def main():
    take_inputs()
    compare(data)
    ranks = sorted(parent.items(), key=operator.itemgetter(0))
    print '\n ------Rankings in ascending order are...-------'
    for i in ranks:
        print i[0]
main()