如何使用for循环来缩短代码?Python
我基本上是从用户那里获取信息,将输入放在一个列表中,并要求他们提供帐号。我还让他们在另外两个列表中输入姓名和余额。我希望它只打印他们的具体号码、姓名和余额,基于他们使用循环而不是if和elif输入的账号如何使用for循环来缩短代码?Python,python,python-3.x,Python,Python 3.x,我基本上是从用户那里获取信息,将输入放在一个列表中,并要求他们提供帐号。我还让他们在另外两个列表中输入姓名和余额。我希望它只打印他们的具体号码、姓名和余额,基于他们使用循环而不是if和elif输入的账号 count = 0 while count != 4: name = input("Enter your name: ") customers.append(name) num = int(input("Enter account number: "))
count = 0
while count != 4:
name = input("Enter your name: ")
customers.append(name)
num = int(input("Enter account number: "))
acctnum.append(num)
bal = float(input("Enter Current Balance:$ "))
print()
balance.append(bal)
count = count + 1
personal = int(input("Enter account number: "))
withdraw = int(input("Enter amount to be withdrawn: "))
if personal in acctnum:
if (acctnum.index(personal)) == 0:
print()
print("\nCustomer name: ", customers[0])
print("Account Number: ",acctnum[0])
print("Balance: ", balance[0])
newbal = balance[0]
print()
elif (acctnum.index(personal)) == 1:
print("\nCustomer name: ", customers[1])
print("Account Number: ",acctnum[1])
print("Balance: ", balance[1])
newbal = balance[1]
print()
elif (acctnum.index(personal)) == 2:
print("\nCustomer name: ", customers[2])
print("Account Number: ",acctnum[2])
print("Balance: ", balance[2])
newbal = balance[2]
print()
elif (acctnum.index(personal)) == 3:
print("\nCustomer name: ", customers[3])
print("Account Number: ",acctnum[3])
print("Balance: ", balance[3])
newbal = balance[3]
print()
elif (acctnum.index(personal)) == 4:
print("\nCustomer name: ", customers[4])
print("Account Number: ",acctnum[4])
print("Balance: ", balance[4])
newbal = balance[4]
print()
类似于此循环结构的内容将减少必要的
elif
语句:
if personal in acctnum:
for i in range(4):
if (acctnum.index(personal)) == i:
print()
print("\nCustomer name: ", customers[i])
print("Account Number: ",acctnum[i])
print("Balance: ", balance[i])
newbal = balance[i]
print()
对于范围(4)中的i,始终可以使用跟踪帐户数的变量替换
中的4 也许你想修正你的缩进。你发布的内容甚至不会运行。