# 02-python Study Day 2

Keywords: Python Programming Mac

Today, I learned the following aspects, although some of them are not comprehensible, I followed the teacher to write the code.

1. List, tuple operation
2. String operation
3. Dictionary operation
4. Set operation
5. File operation
6. Character Coding and Transcoding

# Programming exercises

Procedure: shopping cart program

Demand:

1. After launching the program, let the user enter the salary, and then print the list of goods.
2. Allow users to buy goods according to their product number
3. After the user chooses the commodity, whether the balance is enough or not will be deducted directly and reminded if the balance is insufficient.
4. You may withdraw at any time. At the time of withdrawal, you can print the purchased goods and the balance.

# My Way of Realization

1. Make a product_list to save the goods.
2. Create an empty list as shouping_list
3. Create a new salary list and let the user input the salary. In order to avoid that the user input is not a number, two things are wrong when using int to change the time.
3.1 Determine whether the user entered a number or not
3.2 The user input value is strongly converted to a number, because the subscript of the list is orderly used for judgment.

Create a dead cycle to do something:
1. Show the list of goods to the user after traversing, and ask for the ordinal number. We can use the subscript as the ordinal number.
2. Let the user enter a number and choose the goods to buy.
2.1 To determine whether the user input is a number, if the number, it will be strongly converted into a digital type, stored in the variable user_choice.
2.2 Can be left behind to do: further determine whether the number of user input exceeds the number of goods, if it exceeds the prompt, not more than continue
3. Judging whether the user can afford the product
3.1 Remove items from the list based on the number entered by the user
3.2 Judging affordability
3.3 Add the list to the shopping list shouping_list if you can afford it
3.4 deduction
If you can't afford it:
Tips XX goods can not afford, your money is not enough xxx
2.3 You can leave it behind and do it later: If the value entered by the user exceeds the quantity of the goods, it will prompt you that there is no such goods.
4. Judging whether the user input q
4.1 If the user enters Q
4.2 Show Shopping List
4.3 Display Balance
4.4 Withdrawal Procedure
4.5 Display errors if other characters are entered by the user

# Code part

```# -*- coding:utf-8 -*-
# Author:Dwdar

product_list = [  # Save the list of goods
('Iphoe', 5800),
('Mac Pro', 9800),
('Bike', 9800),
('Watch', 10600),
('Coffe', 31),
('Alex Python', 120),
]

shouping_list = []  # An empty list, he's a shopping cart, where the user's purchases are placed.

salary = input("Please enter salary:")  # User Input Salary
if salary.isdigit():  # Determine whether the user entered a number or not
salary = int(salary)  # If it's a number, it's int Strong to Number

while True:  # Enter the Dead Cycle
for index, item in enumerate(product_list):  # Traveling through the list of goods,
# print(product_list.index(item),item) #Low efficiency
print(index, item)
user_choice = input("Choose commodity>>>:")  # Let users choose goods
if user_choice.isdigit():  # If the user enters a number
user_choice = int(user_choice)  # If it's a number, it's int Strong to Number
# Determine whether the number entered by the user exceeds the number and quantity of the merchandise.
if user_choice < len(product_list) and user_choice >= 0:
p_item = product_list[user_choice]  # Take out the price of a commodity by subscribing
if p_item[1] <= salary:  # Judging affordability
shouping_list.append(p_item)  # If you can afford it, store it in a shopping cart.
salary -= p_item[1]  # Deduct money
# Show the user what to buy and what the balance is.
print("commodity %s Added to shopping cart,Your balance is: \033[31;1m%s\033[0m" % (p_item, salary))
else:  # If you find that you can't afford it at the time of judgment
print("\033[41;1m Your balance is only left.[%s]Come on, buy a wool.\033[0m" % salary)  # Feedback to Users Can't Buy
else:
# Another situation is that the user does not have the product after selection and prompts the user.
print("\033[41;1m Goods of your choice%s Non-existent!\033[0m" % user_choice)

elif user_choice == 'q':  # If the user enters q,Enter exit link
print("----------------List of commodities----------------")  # List title, for a better look
for p in shouping_list:  # Traverse the list of purchased items
print(p)  # Print the list of goods
print("\033[31;1m Your balance is:%s\033[0m" % salary)  # Prompt the user about the balance
exit()  # Exit procedure
else:
print("Selection error")  # If the user does not enter q,And when we enter something else, we prompt the user```

Posted by buildernaut1 on Thu, 10 Oct 2019 06:48:32 -0700