用户评价系统python语言
时间: 2024-01-16 20:01:57 浏览: 16
用户评价系统是一个非常常见的应用,可以用 Python 语言来实现。下面是一个简单的用户评价系统的 Python 实现:
```python
class User:
def __init__(self, name):
self.name = name
self.reviews = []
def add_review(self, review):
self.reviews.append(review)
class Review:
def __init__(self, user, rating, comment):
self.user = user
self.rating = rating
self.comment = comment
class Product:
def __init__(self, name):
self.name = name
self.reviews = []
def add_review(self, review):
self.reviews.append(review)
def average_rating(self):
if len(self.reviews) == 0:
return 0
total_rating = sum([r.rating for r in self.reviews])
return total_rating / len(self.reviews)
class ReviewSystem:
def __init__(self):
self.users = []
self.products = []
def add_user(self, user):
self.users.append(user)
def add_product(self, product):
self.products.append(product)
def write_review(self, user_name, product_name, rating, comment):
user = None
for u in self.users:
if u.name == user_name:
user = u
break
if user is None:
user = User(user_name)
self.add_user(user)
product = None
for p in self.products:
if p.name == product_name:
product = p
break
if product is None:
product = Product(product_name)
self.add_product(product)
review = Review(user, rating, comment)
user.add_review(review)
product.add_review(review)
```
使用该系统,可以实现用户发表评价、产品计算平均评分等功能。例如:
```python
rs = ReviewSystem()
rs.write_review("Alice", "iPhone 12", 4.5, "Nice phone!")
rs.write_review("Bob", "iPhone 12", 4.0, "Good phone.")
rs.write_review("Charlie", "iPhone 12", 5.0, "Best phone ever!")
iphone12 = rs.products[0]
print("Average rating for iPhone 12: ", iphone12.average_rating())
```
输出:
```
Average rating for iPhone 12: 4.5
```
这个例子比较简单,实际中的用户评价系统可能还需要更多的功能和复杂的实现。但是这个例子可以作为一个起点来构建更复杂的系统。