import time
def pini():
pin1 = int(input("enter your pin please: ")
if pin1 == pin:
print("pin correct")
print("paying: £",amount)
print("opening connection...")
time.sleep(0.4)
print("contacting bank...")
time.sleep(1.0)
print("contacting bank...")
time.sleep(0.5)
print("contacting bank...")
time.sleep(0.2)
print("contacting bank...")
time.sleep(0.2)
print("transaction successful")
elif:
print("wrong pin, try again")
pini()
print("Welcome to the bank")
print("\n")
pin = int(input("what is your pin: ")
pay = ""
while pay == "":
pay = input("press 'n' to make a payement: ").lower()
if pay == "n":
amount = int(input("please enter amount to pay: ")
print("please insert your card to pay" , "£",amount)
print("\n")
pini()
这是我的代码。
运行时,我收到“无效语法”错误,我使用的是 Python/IDLE 3.4.2。 这只是一个学校项目的小程序,我遇到了错误。
我认为缩进可能是问题所在,但除此之外我不确定,任何帮助表示赞赏:)
最佳答案
我在您的代码中添加了一些注释,如下所示。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
def pini():
pin1 = int(input("enter your pin please: ")) # miss a right bracket ')'
if pin1 == pin: # Be attention to your code indentation
print("pin correct")
print("paying: £",amount)
print("opening connection...")
time.sleep(0.4)
print("contacting bank...")
time.sleep(1.0)
print("contacting bank...")
time.sleep(0.5)
print("contacting bank...")
time.sleep(0.2)
print("contacting bank...")
time.sleep(0.2)
print("transaction successful")
else: # it should be `else` instead of `elif`
print("wrong pin, try again")
pini()
print("Welcome to the bank")
print("\n")
pin = int(input("what is your pin: ")) # Again, you miss the right bracket `)`
pay = ""
while pay == "":
pay = input("press 'n' to make a payement: ").lower()
if pay == "n":
amount = int(input("please enter amount to pay: ")) # Same problem `)`
print("please insert your card to pay" , "£",amount)
print("\n")
pini()
关于python - 我在运行代码时遇到错误(语法无效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803871/