我已经在Python中构建了一个用于在剧院中预订座位的代码。代码工作良好,除了需要能够在循环中重复代码,所以一旦预订了一些座位,您就可以选择预订更多座位。在Python中重复代码
这是代码:
NumSeat = input ("Please enter the number of seats you desire: ")
print (" ")
import re
if re.match("[0-9]", NumSeat):
if int(NumSeat) > 6:
print ("You may only book a maximum of 6 seats")
else:
if int(NumSeat) < 1:
print ("You must book at least 1 seat")
else:
SeatRow = input ("Please enter the row you want to sit in: ")
if len(SeatRow) > 1:
print ("Invalid row")
else:
if SeatRow.count ("A") or SeatRow.count ("a") == 1:
print ("The seats avaiable in row", SeatRow, "for", int(NumSeat), "people are", RowA[0],"-", RowA[int(NumSeat)-1])
RowA = RowA[int(NumSeat):]
else:
if SeatRow.count ("B") or SeatRow.count ("b") == 1:
print ("The seats avaiable in row", SeatRow, "for", int(NumSeat), "people are", RowB[0],"-", RowB[int(NumSeat)-1])
RowB = RowB[int(NumSeat):]
else:
if SeatRow.count ("C") or SeatRow.count ("c") == 1:
print ("The seats avaiable in row", SeatRow, "for", int(NumSeat), "people are", RowC[0],"-", RowC[int(NumSeat)-1])
RowC = RowC[int(NumSeat):]
else:
if SeatRow.count ("D") or SeatRow.count ("d") == 1:
print ("The seats avaiable in row", SeatRow, "for", int(NumSeat), "people are", RowD[0],"-", RowD[int(NumSeat)-1])
RowD = RowD[int(NumSeat):]
else:
if SeatRow.count ("E") or SeatRow.count ("e") == 1:
print ("The seats avaiable in row", SeatRow, "for", int(NumSeat), "people are", RowE[0],"-", RowE[int(NumSeat)-1])
RowE = RowE[int(NumSeat):]
else:
print("Invalid row")
else:
print ("You must input a number")
这将是巨大的,如果你有任何建议
哇,这是我见过的最丑陋的代码片段之一。你应该真正考虑软件设计的不要重复自己(DRY)原理。我很抱歉给你这样一个负面的反馈,你当然可能不同意,但帮助你纠缠在更多的重复中...会对自己产生偏见。你应该寻求重新设计这个帮助,而不是为了帮助它以某种方式工作。 – logc
我之前做过工作,但在发布之后我收拾整理了 – user3556246