如何在Python中创建表 [英] How To Create A Table in Python

查看:52
本文介绍了如何在Python中创建表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我之前已经发布了此信息,但是我将其与更详细的信息一起重新发布.

I've posted this before, but I'm reposting it with more detailed information.

这是我的任务:

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

And, so far, this is my code:

# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
    total = score1 + score2 + score3 + score4 + score5
    average = total % 5
    print(average)

# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
    if score < 60:
        print 'F'
    elif score => 60 or score <= 69:
        print 'D'
    elif score => 70 or score <= 79:
        print 'C'
    elif score => 80 or score <= 89:
        print 'B'
    elif score => 90 or score <= 100:
        print 'A'
# Define a function that prompts the user to input names and test scores
def input_data():
    score1 = input('Enter score 1:')
    name1 = input('Enter name 1:')
    score2 = input('Enter score 2:')
    name2 = input('Enter name 2:')
    score3 = input('Enter score 3:')
    name3 = input('Enter name 3:')
    score4 = input('Enter score 4:')
    name4 = input('Enter name 4:')
    score5 = input('Enter score 5:')
    name5 = input('Enter name 5:')


# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():

正如我在第一篇文章中所说,除了设置该表之外,我没有任何真正的问题.我真的很困惑!

As I said in the first post, I don't have a real problem with anything except setting up that table. I'm really confused!

我问我的讲师(这是一门在线课程,顺便说一句),他说:它只是使用打印操作符,就像您在以前的模块中所做的那样,打印文本,变量和函数的返回值."

I asked my instructor (this is an online course, BTW), and he said: "Its just using the print operator, like you have done in previous modules, your printing text , variables and the return value of a function."

现在我只是想知道从哪里开始.

Now I'm just wondering where to start.

编辑:我已经更新了我的代码:

I've updated my code this:

# Define a function that prompts the user to input names and test scores
def input_data():
    score1 = input('Enter score 1:')
    name1 = input('Enter name 1:')
    score2 = input('Enter score 2:')
    name2 = input('Enter name 2:')
    score3 = input('Enter score 3:')
    name3 = input('Enter name 3:')
    score4 = input('Enter score 4:')
    name4 = input('Enter name 4:')
    score5 = input('Enter score 5:')
    name5 = input('Enter name 5:')

# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
    if score < 60:
        print ('F')
    elif 60 <= score <= 69:
        print ('D')
    elif  70 <= score <= 79:
        print ('C')
    elif 80 <= score <= 89:
        print ('B')
    elif 90 <= score <= 100:
        print ('A')

# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
    total = score1 + score2 + score3 + score4 + score5
    average = total / 5
    print(average)

# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
    for x in range(10):
        print("{:<10}".format("{:0.1f}".format(x)), end='')
    print ("Name\t\t\tnumeric grade\t\tletter grade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s") % ('name1', 'score1', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name2', 'score2', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name3', 'score3', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name4', 'score4', determine_grade)
print ("%s:\t\t\t%f\t\t%s") % ('name5', 'score5', determine_grade)
print ("---------------------------------------------------------------")

但是当我运行它时:

编辑#2:这是我当前的代码:

# Define a function that prompts the user to input names and test scores
def input_data():
    score1 = input('Enter score 1:')
    name1 = input('Enter name 1:')
    score2 = input('Enter score 2:')
    name2 = input('Enter name 2:')
    score3 = input('Enter score 3:')
    name3 = input('Enter name 3:')
    score4 = input('Enter score 4:')
    name4 = input('Enter name 4:')
    score5 = input('Enter score 5:')
    name5 = input('Enter name 5:')

# Define a function that caculates average test scores
def calculate_average(score1, score2, score3, score4, score5):
    total = score1 + score2 + score3 + score4 + score5
    average = total / 5
    print(average)

# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
    if score < 60:
        print ('F')
    elif 60 <= score <= 69:
        print ('D')
    elif  70 <= score <= 79:
        print ('C')
    elif 80 <= score <= 89:
        print ('B')
    elif 90 <= score <= 100:
        print ('A')



# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
   print ("Name\t\t\tnumeric grade\t\tlettergrade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % ('name1', 93, 'A'))
print ("%s:\t\t\t%f\t\t%s" % ('name2', 89, 'B'))
print ("%s:\t\t\t%f\t\t%s" % ('name3', 76, 'C'))
print ("%s:\t\t\t%f\t\t%s" % ('name4', 58, 'F'))
print ("%s:\t\t\t%f\t\t%s" % ('name5', 98, 'A'))
print ("---------------------------------------------------------------")
print (calculate_average)

这是我运行它时发生的事情:

And this is what happens when I run it:

现在,我主要有两个问题:

Now, I have mainly two problems:

1)如何在显示表之前让输入语句执行并输入数据?

1) How do I get the input statements to execute and enter the data BEFORE the table is displayed?

2)如何转换显示的数字,使其为".2f"格式?(我已经尝试了几种方法,但没有一种起作用.)

2) How do I convert the numbers displayed so that they are in the '.2f' format? (I've already tried a few ways and none of them worked).

完成最终我已经很接近解决方案了,但是在其他方面需要帮助.

HOPEFULLY THE FINAL I'm getting really close to the solution, but need help with a few more things.

这是我的代码:

# Define a function that prompts the user to input names and test scores

score = input('Enter score 1:')
name1 = input('Enter name 1:')
score = input('Enter score 2:')
name2 = input('Enter name 2:')
score = input('Enter score 3:')
name3 = input('Enter name 3:')
score = input('Enter score 4:')
name4 = input('Enter name 4:')
score = input('Enter score 5:')
name5 = input('Enter name 5:')




# Define a function that determines a letter grade
# Based on the given score
def determine_grade(score):
    if score < 60:
        print ('F')
    elif 60 <= score <= 69:
        print ('D')
    elif  70 <= score <= 79:
        print ('C')
    elif 80 <= score <= 89:
        print ('B')
    elif 90 <= score <= 100:
        print ('A')

determine_grade(score)


# Define a function that caculates average test scores
def calculate_average(score):
    total = score + score + score + score + score
    average = total / 5
    print(average)

calculate_average(score)

# Define a function that displays a letter grade for each score
# followed by the student's name and the average test score
def display_menu():
   print ("Name\t\t\tnumeric grade\t\tlettergrade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % ('name1', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name2', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name3', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name4', 'score', determine_grade('score')))
print ("%s:\t\t\t%f\t\t%s" % ('name5', 'score', determine_grade('score')))
print ("---------------------------------------------------------------")
calculate_average(score)

这就是我按F5键时发生的事情:

And this is what happens when I press F5:

伙计们,我几乎只需要格式化就可以了:我创建了另一个文件,以便可以重新组织代码,所以这就是为什么没有注释的原因.这就是我所拥有的:

GUYS, I'M ALMOST DONE JUST NEED HELP WITH FORMATTING: I created another file so I could reorganize my code a bit, so that's why there's no comments. This is what I have:

score1 = float(input('Enter score 1:'))
name1 = input('Enter name 1:')
score2 = float(input('Enter score 2:'))
name2 = input('Enter name 2:')
score3 = float(input('Enter score 3:'))
name3 = input('Enter name 3:')
score4 = float(input('Enter score 4:'))
name4 = input('Enter name 4:')
score5 = float(input('Enter score 5:'))
name5 = input('Enter name 5:')


def determine_letter_grade1(score1):
    if score1 < 60.0:
        print ('F')
    elif 60.0 <= score1 <= 69.0:
        print ('D')
    elif  70.0 <= score1 <= 79.0:
        print ('C')
    elif 80.0 <= score1 <= 89.0:
        print ('B')
    elif 90.0 <= score1 <= 100.0:
        print ('A')

def determine_letter_grade2(score2):
    if score2 < 60.0:
        print ('F')
    elif 60.0 <= score2 <= 69.0:
        print ('D')
    elif  70.0 <= score2 <= 79.0:
        print ('C')
    elif 80.0 <= score2 <= 89.0:
        print ('B')
    elif 90.0 <= score2 <= 100.0:
        print ('A')

def determine_letter_grade3(score3):
    if score3 < 60.0:
        print ('F')
    elif 60.0 <= score3 <= 69.0:
        print ('D')
    elif  70.0 <= score3 <= 79.0:
        print ('C')
    elif 80.0 <= score3 <= 89.0:
        print ('B')
    elif 90.0 <= score3 <= 100.0:
        print ('A')

def determine_letter_grade4(score4):
    if score4 < 60.0:
        print ('F')
    elif 60.0 <= score4 <= 69.0:
        print ('D')
    elif  70.0 <= score4 <= 79.0:
        print ('C')
    elif 80.0 <= score4 <= 89.0:
        print ('B')
    elif 90.0 <= score4 <= 100.0:
        print ('A')

def determine_letter_grade5(score5):
    if score5 < 60.0:
        print ('F')
    elif 60.0 <= score5 <= 69.0:
        print ('D')
    elif  70.0 <= score5 <= 79.0:
        print ('C')
    elif 80.0 <= score5 <= 89.0:
        print ('B')
    elif 90.0 <= score5 <= 100.0:
        print ('A')

average = (score1 + score2 + score3 + score4 + score5) / 5.0

def determine_letter_grade_avg(average):
    if average < 60.0:
        print ('F')
    elif 60.0 <= average <= 69.0:
        print ('D')
    elif  70.0 <= average <= 79.0:
        print ('C')
    elif 80.0 <= average <= 89.0:
        print ('B')
    elif 90.0 <= average <= 100.0:
        print ('A')

def display_menu():
    for x in range(10):
        print("{:<10}".format("{:0.1f}".format(x)), end='')
    print ("Name\t\t\tnumeric grade\t\tletter grade")
print ("---------------------------------------------------------------")
print ("%s:\t\t\t%f\t\t%s" % (name1, score1, determine_letter_grade1(score1)))
print ("%s:\t\t\t%f\t\t%s" % (name2, score2, determine_letter_grade2(score2)))
print ("%s:\t\t\t%f\t\t%s" % (name3, score3, determine_letter_grade3(score3)))
print ("%s:\t\t\t%f\t\t%s" % (name4, score4, determine_letter_grade4(score4)))
print ("%s:\t\t\t%f\t\t%s" % (name5, score5, determine_letter_grade5(score5)))
print ("---------------------------------------------------------------")
print ('Average Score:', average, determine_letter_grade_avg(average))

当我运行它时:

推荐答案

您可以执行以下操作:

def display_menu():
print "Name\t\t\tnumeric grade\t\tlettergrade"
print "---------------------------------------------------------------"
print "%s:\t\t\t%f\t\t%s" % ('name1', 50, 'F')
print "%s:\t\t\t%f\t\t%s" % ('name2', 50, 'F')
print "%s:\t\t\t%f\t\t%s" % ('name3', 23, 'F')
print "%s:\t\t\t%f\t\t%s" % ('name4', 44, 'F')
print "%s:\t\t\t%f\t\t%s" % ('name5', 48, 'F')
print "---------------------------------------------------------------"

display_menu()

display_menu()

我使用 \ t 在两者之间提供制表符.

I used \t to give tabs in between.

这是PythonShell输出的屏幕截图

这篇关于如何在Python中创建表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆