Loop and conditional statement training in Python
Loop statements: while loop and for loop (there is a do... While structure in C language, but it is not supported in python)
Conditional statements: if... elif... else statements (can be nested)
-
While format: (parameters in while will not increase automatically)
Format:
while judgment conditions:
Code to loopexample:
- Print 1-10
#Print 1-10 n = 1 while n <= 10: print(n,end ='\n') #Variables must change n += 1
- Find an integer within 1-50 that can be divided by 3
n = 1 while n <= 50: if n %3 == 0: print('%d Can be divided by three'%n) print('\n') n += 1
- Find the sum of all integers between [35987]
y = 0 j = 34 while j < 987: j += 1 y += j print(y)
- Go to the supermarket to buy things, price and quantity, allow to buy multiple goods, and calculate the total amount of all goods
total = 0 #Total count amount commodity_num = 0 #Count the total number of goods purchased while True: # Buy first price = float(input('Unit price of goods:')) number = int(input('Quantity of goods:')) # Calculate total total += price * number # Calculate the total number of goods commodity_num += number # Determine whether to continue buying answer = input('The current total amount of goods is:%.2f,Continue adding items( N Exit)?' % total) if answer == 'N': break print('Total purchase%d Pieces of goods,The total amount of all goods is:%.2f element' % (commodity_num, total))
- Number guessing game: you can guess many times until you get it right. If you guess wrong, give appropriate tips to guess whether it is big or small
Requirements: 1) count the total number of guesses
2) If you win at one time, hurry to buy the lottery. You must win 100 million
2-5 times, good luck
6-10 times, average luck
>10 times, what shit luck
import random2 ran = random2.randint(1, 50) count = 0 # Used to count the number of guesses #print(ran) # Loop multiple guesses while True: guess = int(input('Guess a 1-50 Number between:')) # Note: input is of character type count += 1 # Guess right and it's over if guess == ran: if count == 1: print('You are a real cow! Hurry to buy the lottery. You must win 100 million!') elif 2 <= count <= 5: print('Good luck!') elif 6 <= count <= 10: print('Average luck!') else: print('What shit luck! Don't go out recently') break elif guess > ran: print('Guess a little big Oh, let's do it again!') else: print('Guess a little small Oh, let's do it again!')
- Guessing game: with man-machine pk, the number of games is 3 times. Whoever wins more times will win the final victory
import random2 # The computer should randomly give a number [0,2] # You need to use the random number module random # Random. Random (a,b) = = > random integer that can generate [a,b] n = 3 # Total times jiqi_num = 0 # Machine wins hum_num = 0 # Player wins while n > 0: computer = random2.randint(0, 2) # print('computer output: ', computer) player = int(input('Please enter (0)scissors (1)stone (2) Cloth:')) # 1 = = the result is False n -= 1 # Count the number of punches. How many more # Prompt the user to punch if player == 0: print('What you gave was scissors') if computer == 2: print('Congratulations, you won this game!!!') hum_num += 1 elif computer == 1: print('You trash, you lost this game!') jiqi_num += 1 else: print('This game is even!') elif player == 1: print('You made a stone') if computer == 0: print('Congratulations, you won this game!!!') hum_num += 1 elif computer == 2: print('You trash, you lost this game!') jiqi_num += 1 else: print('This game is even!') elif player == 2: print('What you gave was cloth') if computer == 1: print('Congratulations, you won this game!!!') hum_num += 1 elif computer == 0: print('You trash, you lost this game!') jiqi_num += 1 else: print('This game is even!') else: jiqi_num += 1 print("Please don't be blind jb Get out!") print('You still have%d Second chance' % n) if n == 0: print('The number of times is exhausted. Let's look at the outcome:') print('Robot player wins%d game' % jiqi_num, 'You win%d game' % hum_num) if hum_num > jiqi_num: print("You're still a cow!Defeated the machine") else: print('Give you a chance. You're useless! Shit!') else: print('also%d Game board' % n)
-
for loop statement
The for loop in python refers to the for... In... Loop structure, which is different from the for loop in C language
For statement format: for ele in iterable (variables in the for loop will increase automatically)
Note: for i in range(n):
Where, range(n): the default value is from 0 to n-1
range(start,stop,step): [start, stop) - > open left and close right
Step - > step size. The default value is 1
example:
- Enter the user name and password. If you fail to log in three times, you will be prompted that the account is locked
# Enter the user name and password. If you fail to log in three times, you will be prompted that the account is locked for i in range(3): # Prompt for user name and password username = input('Please enter user name:') password = input('Please input a password:') # Determine whether the input is correct admin 12345 if username == 'admin' and password == '12345': print('User login succeeded!') break else: print('Wrong user name or password!') else: # If you haven't lost right after three chances, lock it print('Account locked')
Here, pay special attention to the for... Else structure and the while... Else structure. When the for loop is completely traversed, execute the else statement. If the for loop is interrupted, else will not execute. The same is true for while... Else.
-
So when to use the while loop and when to use the for loop?
It is convenient to use for when there are fixed number of cycles and while when there are uncertain number of cycles.
-
Another example is the dice game
Dice game requirements
Two dice: 1-6
1. You should have gold coins to play games. You can't play games without gold coins
2. Play the game and give 1 gold coin as a gift. Recharge to get the gold coin
3. Each recharge is a multiple of 10 yuan, and 10 yuan can recharge 20 gold coins
4. Playing the game costs 5 gold coins
5. Guess the size: if you guess right, you will be encouraged to buy 2 gold coins. If you guess wrong, there will be no gold coins. If two dice exceed 6 points, it will be considered as large, otherwise it will be small
6. End of the game: ① active exit, ② no gold coin exit
7. Print the number of gold coins as long as you exit
import random coins = 0 # Number of gold coins print('Welcome to the head iron king game!') def recharge(): while True: global coins # If you want to change the value of an externally declared variable inside a function, you need to declare a global variable inside the function, and an error will occur when you declare it outside money = int(input('Enter recharge amount:')) # The multiple of 10 yuan can be recharged, and 20 gold coins can be recharged for every 10 yuan if money % 10 == 0: coins += money * 2 print('Recharge succeeded. The current number of gold coins is:%d' % coins) choice = input('Continue to recharge?') if choice == 'Y': continue else: print('End of recharge! The current gold coin balance is:%d' % coins) break else: print('Recharge amount is not a multiple of 10, failed to recharge! Please recharge again!') # if __name__ == '__main__': # recharge() welcome = True while welcome: if coins < 5: print('Insufficient gold coins, please recharge!') recharge() else: choice = input('Start game?') if choice == 'Y': # Start the game print('Welcome to the dice game!') while True: # Play a game and deduct 5 gold coins coins -= 5 # 1 reward for playing one game coins += 1 # After the dice are cleaned, guess the size ran1 = random.randint(1, 6) ran2 = random.randint(1, 6) # Guess size guess = input('After shuffling, please guess the size:') if (guess == 'large' and ran1 + ran2 > 6) or (guess == 'Small' and ran1 + ran2 <= 6): print("Congratulations, you guessed right! Get 2 rewards!") coins += 2 choice = input('Continue the game?') if choice == 'Y': continue else: print('At the end of the game, the current gold coin balance is:%d' % coins) break else: print('Unfortunately, you guessed wrong!') choice = input('Continue the game?') if choice == 'Y': if coins >= 5: continue else: choice =input('Insufficient gold coins, recharge or not:') if choice == 'Y': recharge() else: print('At the end of the game, the current gold coin balance is:%d' % coins) welcome = False break else: print('At the end of the game, the current gold coin balance is:%d' % coins) welcome = False break else: print('Exit the game...\n', 'Successfully quit the game!\n') break
Because the code is written by myself and I just learned Python, I feel I have used if judgment many times. At present, I don't know what good method is, so it's ugly. If the boss sees it, I hope to correct it!