我是python的新手并试图创建一个计算成绩的程序。我已经被困在下面超过一个小时了,所以任何帮助都会欣赏。
DbInfos
问题是asses_value一直没有返回?示例在
之下多少评估:3
输入评估名称:测试
测试值多少分:
无
感谢任何提示,谢谢大家
答案 0 :(得分:1)
Python中的print()
函数始终返回None。所以你需要将它从这一行中删除:
asses_value = int(input(print('How many marks is the',assessment[i],'worth : ')))
只需将字符串传递给input
函数即可满足您的需求:
asses_value = int(input('How many marks is the ' + assessment[i] + ' worth : '))
请注意,您只能将单个字符串传递给input()
,这就是我使用字符串连接运算符+
而不是传递三个以逗号分隔的字符串的原因。
正如评论中所指出的,对上述内容的改进将是使用string formatting:
asses_value = int(input('How many marks is the {} worth : '.format(assessment[i])))
答案 1 :(得分:0)
希望!此代码将帮助您
assessment=[]
weight=[]
assign_number = int(input('How many assessment : '))
for i in range(assign_number):
asses_name =input('Enter name of assessment: ')
assessment.append(asses_name)
asses_value = int(input('How many marks is the ' +assessment[i]+' worth : '))
weight.append(asses_value)
<强>更新强>: 您尝试在输入时打印该值,这就是发生所有错误的原因