在那段代码中,这个操作不起作用,我知道如果我把str转换成int,它就会起作用 但问题是:为什么第一个代码运行良好,而第二个代码运行不好
第一个代码是python 3:
disciplina = input('digite suas disciplina ')
nota_final = input ('digite sua nota final (entre 0 e 100)')
if disciplina =='Historia' and nota_final >= '70' :
print('Você foi aprovado !')
else:
print('Você precisa estudar mais ')
第二代码python 3:
aluno = input('Você é um bom aluno ?')
nota = input ('Quanto você costuma tirar na prova ?')
if aluno =='sim' and nota >= '10' :
print( 'Parabéns você é demais !')
else:
print('Você precisa estudar mais')
obs:在第一个代码中,如果您键入的数字小于70,则代码工作正常;在第二个代码中,如果您键入的数字小于10,则代码工作不正常,原因是什么?在您说“您需要将第二个代码nota转换为int(输入(“texto”),然后我问您为什么第一个代码不需要它(在nota_final=input(“text”)中都是字符串)
字符串之间的比较是从左到右逐个字符进行的,因此字符串“9”大于“10”,因为比较以“9”大于“1”开始
为了让Python将数字作为实际数字进行处理,您需要将它们转换为数字数据类型(例如
int(nota_final) > 70
),或者右对齐字符串(例如nota_final.rjust(3) > ' 70'
)请注意,转换为数字类型将有较少的边缘案例需要管理相关问题 更多 >
编程相关推荐