为什么这个'否则'返回错误?

时间:2018-03-10 14:55:24

标签: python python-3.x

我正在为毕业演习创建一个程序,并且我坚持使用Else Error

当我设置标有#的行时,不会出现问题。 我目前正在使用repl.it对其进行编程,这是以下代码 错误讯息:

Traceback (most recent call last):
  File "python", line 45
    else:
   ^

SyntaxError:语法无效

                 #3° exercicio
'''
Escreva um programa que pergunte a quantidade de KM percorridos
por um carro alugado pelo
usuário, assim como a quantidade de dias pelos quais o carro
foi alugado.
Calcule o preço a pagar , sabendo que o carro custa
R$:60,00 por dia e R$ 0,15 por km rodado
'''

print ("Olá, bem vindo a RENT A NAVE; Qual carro você gostaria ?")
print("Pressione enter para ver as opções ")
input()
print ("Pressione as teclas correspondentes")
print ('Digite p3008 para  Peugeot 3008')
print ('Digite kcadenza  para Kia Cadenza')
print ('Digite tprius para Toyota Prius')
print ('Digite f124 para Fiat 124 Spider')
menu_voltar = str("Verifique a lista de opções, opção digitada incorreta")
p3008 = str("p3008")
f124 = str("f124") 
kcadenza = str ("kcadenza")
tprius = str("tprius")
valor_peugeot  = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado')
valor_tprius = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
valor_kcadenza = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
valorf124 =   str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
user_information1 = str (input("Qual a sua opção"))
valor_total_dia = 60
valor_total_km = 0.15

if user_information1 == p3008  :
   print ('Parabens vc escolheu um Peugeot 3008 ')
   print ('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado')

   carro_km = int (input("Você sabe uma média em Km que ira rodar  com o carro ? "))
   carro_dias = int (input("Quantos Dias você vai usar o carro ?"))
   user_information1 = int(carro_km * valor_total_km) 
   user_information2 = int (carro_dias  * valor_total_dia)

print ('O Valor a pagar em um total de KMs é :','R$',user_information1 ,',00' ' e o seu valor a pagar por dias com o carro é : R$', user_information2 ,',00')

'''
 ########### this line below gimme the error ##### why ? 
else:
  print (menu_voltar)
  '''

请你帮我理解为什么会这样?

2 个答案:

答案 0 :(得分:0)

您的缩进不正确,else代码无法与if匹配,因此发生了SyntaxError。将print语句修改为if块缩进级别。希望这会对你有所帮助

'''
Escreva um programa que pergunte a quantidade de KM percorridos
por um carro alugado pelo
usuário, assim como a quantidade de dias pelos quais o carro
foi alugado.
Calcule o preço a pagar , sabendo que o carro custa
R$:60,00 por dia e R$ 0,15 por km rodado
'''

print ("Olá, bem vindo a RENT A NAVE; Qual carro você gostaria ?")
print("Pressione enter para ver as opções ")
input()
print ("Pressione as teclas correspondentes")
print ('Digite p3008 para  Peugeot 3008')
print ('Digite kcadenza  para Kia Cadenza')
print ('Digite tprius para Toyota Prius')
print ('Digite f124 para Fiat 124 Spider')
menu_voltar = str("Verifique a lista de opções, opção digitada incorreta")
p3008 = str("p3008")
f124 = str("f124") 
kcadenza = str ("kcadenza")
tprius = str("tprius")
valor_peugeot  = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado')
valor_tprius = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
valor_kcadenza = str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
valorf124 =   str('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado ')
user_information1 = str (input("Qual a sua opção"))
valor_total_dia = 60
valor_total_km = 0.15

if user_information1 == p3008  :
   print ('Parabens vc escolheu um Peugeot 3008 ')
   print ('Sua escolha custa R$:60,00 por dia e R$ 0,15 por km rodado')

   carro_km = int (input("Você sabe uma média em Km que ira rodar  com o carro ? "))
   carro_dias = int (input("Quantos Dias você vai usar o carro ?"))
   user_information1 = int(carro_km * valor_total_km) 
   user_information2 = int (carro_dias  * valor_total_dia)

   print ('O Valor a pagar em um total de KMs é :','R$',user_information1 ,',00' ' e o seu valor a pagar por dias com o carro é : R$', user_information2 ,',00')

else:
  print (menu_voltar)

答案 1 :(得分:0)

问题在于您将if和else条件与print()分开。

详细说明,if和else必须连接,因为else用于执行任何不符合if/elif语句条件的内容,例如

if (condition):
    Program
else:
    Program

因此,如果将if块和else块与其他内容分开,则会导致错误。

if (condition):
    Program
variable = 2
print(“text”)
else: <—— error “where is my if statement?”
    Program