I Don't Quite Understand The While Loop In Python
def AddSingleCard(self): symbols = ['heart', 'diamond', 'club', 'spade'] #newCardSign = '' newCardNumber, newCardSign = raw_input().split() try: newCardNumber =
Solution 1:
If you know C, you might want to use a do ... while
loop, because the loop body must be executed at least once. But there is no such thing as a do ... while
loop in Python. You have to start with while True:
and break
out of the loop if your condition is met.
def AddSingleCard(self):
symbols = ['heart', 'diamond', 'club', 'spade']
while True:
newCardNumber, newCardSign = raw_input("Enter card number and sign (heart, diamond, club, spade), seperated by space").split()
try:
newCardNumber = int(newCardNumber)
except ValueError:
print "Card number must be a number between 2 and 15"
continue
if newCardNumber in range(2,16) and newCardSign in symbols:
break
print "Card number or symbol not valid"
newCard = [newCardNumber, newCardSign]
Solution 2:
def AddSingleCard():
symbols = ['heart', 'diamond', 'club', 'spade']
newCardNumber = newCardSign = None
while (newCardNumber not in range(2, 16) or newCardSign not in symbols):
newCardNumber, newCardSign = raw_input('Enter Number and Symbol with space between:').split()
try:
newCardNumber = int(newCardNumber)
except:
continue
newCard = [newCardNumber, newCardSign]
return newCard
AddSingleCard()
- Convert
newCardNumber
toint
- change (2,15) to range(2,16)
Post a Comment for "I Don't Quite Understand The While Loop In Python"