python绘制水果价格与利润表图1-3


input输入
(默认输入:
苹果🍎
橘子🍊
梨子🍐
葡萄🍇

空一行空值表示结束输入


input添加
1. 添加
2. 删除
序号和文字都可以,要空格或者空行
可以点对点输入数据

深色主题
mpl_style(dark=True)

# 折线图
plt.plot(x, y, marker='o')
plt.plot(x, y2, marker='o')

# 坐标轴名称
plt.xlabel('X')
plt.ylabel('Y')

# 显示plt.show()

input设置数据
多行循环
回车空2行

input输入
(默认输入:
苹果🍎
橘子🍊
梨子🍐
葡萄🍇

空一行空值表示结束输入


input设置:标题
默认
产品 单价 利润 数量 总额
苹果🍎
橘子🍊
栗子🌰
葡萄🍇

总之从input接受的文本变成这样

input添加
1. 添加
2. 删除
序号和文字都可以,要空格或者空行

文件名命名方法:编号. 库 样式 时间戳
保存 /storage/emulated/0/文件/代码print相关/结构图/
没有就新建
中文字体 /storage/emulated/0/文件/字体大全/字体包/宋体.ttf
其它中文字体 /storage/emulated/0/文件/字体大全/字体包/
英语字体 /storage/emulated/0/文件/字体大全/
这个目录下检索可用英语.ttf,如果需要英语的话

那么多字体,不支持就更换
文件名没有库或者样式就省略掉
优雅热情沉默的注释每行每行



根据您的需求,我将逐步完成代码。首先,我们开始处理输入部分。请确认以下代码是否符合您的要求:

import matplotlib.pyplot as plt

# 默认输入数据
default_data = '''
苹果🍎
橘子🍊
梨子🍐
葡萄🍇
'''

# 处理默认输入数据
def process_default_input(input_str):
    data = [line.strip() for line in input_str.split('\n') if line.strip()]
    return data

# 添加数据
def add_data():
    # 输入要添加的数据
    print("请输入要添加的数据:")
    new_data = input()
    
    # 处理输入的数据并添加到原数据中
    data.extend(process_default_input(new_data))

# 删除数据
def delete_data():
    # 输入要删除的数据索引
    print("请输入要删除的数据索引:")
    index = int(input())
    
    # 检查索引是否有效并删除对应的数据
    if index >= 0 and index < len(data):
        data.pop(index)
        print("删除成功!")
    else:
        print("无效的索引!")

# 默认输入数据
data = process_default_input(default_data)

while True:
    print("请选择操作:")
    print("1. 添加")
    print("2. 删除")
    print("0. 结束")
    
    choice = input()
    
    if choice == '1':
        add_data()
    elif choice == '2':
        delete_data()
    elif choice == '0':
        break
    else:
        print("无效的选择!")

# 打印最终的数据
print("最终的数据:")
for item in data:
    print(item)

请尝试运行以上代码,并通过输入选择不同的操作(1. 添加、2. 删除、0. 结束)。您可以根据需要进行相应的操作,并查看最终结果。如果有其他问题,请随时提问。

input设置:标题
默认
产品 单价 利润 数量 总额
苹果🍎
橘子🍊
栗子🌰
葡萄🍇

总之从input接受的文本变成这样

好的,根据您的要求,以下是处理标题和数据部分的代码:

# 默认输入数据和标题
default_title = "产品 单价 利润 数量 总额"
default_data = '''
苹果🍎 10 2 5 50
橘子🍊 8 1.6 4 32
栗子🌰 12 3 3 36
葡萄🍇 20 4 2 40
'''

# 处理默认数据
def process_default_data(input_str):
    data = []
    for line in input_str.split('\n'):
        line = line.strip()
        if line:
            values = line.split()
            item = {}
            item['product'] = values[0]
            item['price'] = float(values[1])
            item['profit'] = float(values[2])
            item['quantity'] = int(values[3])
            item['total'] = item['price'] * item['quantity'] + item['profit']
            data.append(item)
    return data

# 处理默认标题
def process_default_title(title_str):
    return title_str.split()

# 设置标题
def set_title():
    # 输入新标题
    print("请输入新标题:")
    new_title = input()
    
    # 处理新标题并更新全局变量
    global title
    title = process_default_title(new_title)

# 打印表格
def print_table():
    # 打印标题行
    row_format = "{:^10}" * len(title)
    print(row_format.format(*title))
    
    # 打印数据行
    for item in data:
        print(row_format.format(item['product'], item['price'], item['profit'], item['quantity'], item['total']))

# 默认数据和标题
title = process_default_title(default_title)
data = process_default_data(default_data)

while True:
    print("请选择操作:")
    print("1. 设置标题")
    print("2. 打印表格")
    print("0. 结束")
    
    choice = input()
    
    if choice == '1':
        set_title()
    elif choice == '2':
        print_table()
    elif choice == '0':
        break
    else:
        print("无效的选择!")

请尝试运行以上代码,并通过输入选择不同的操作(1. 设置标题、2. 打印表格、0. 结束)。您可以根据需要进行相应的操作,并查看最终结果。

合并代码

好的,以下是合并后的代码:

# 默认输入数据和标题
default_title = "产品 单价 利润 数量 总额"
default_data = '''
苹果🍎 10 2 5 50
橘子🍊 8 1.6 4 32
栗子🌰 12 3 3 36
葡萄🍇 20 4 2 40
'''

# 处理默认输入数据
def process_default_input(input_str):
    title_str, data_str = input_str.split('\n\n', 1)
    title = process_default_title(title_str)
    data = process_default_data(data_str)
    return title, data

# 处理默认数据
def process_default_data(input_str):
    data = []
    for line in input_str.split('\n'):
        line = line.strip()
        if line:
            values = line.split()
            item = {}
            item['product'] = values[0]
            item['price'] = float(values[1])
            item['profit'] = float(values[2])
            item['quantity'] = int(values[3])
            item['total'] = item['price'] * item['quantity'] + item['profit']
            data.append(item)
    return data

# 处理默认标题
def process_default_title(title_str):
    return title_str.split()

# 设置标题
def set_title(title):
    # 输入新标题
    print("请输入新标题:")
    new_title = input()
    
    # 处理新标题并返回
    return process_default_title(new_title)

# 添加数据
def add_data(data):
    # 输入要添加的数据
    print("请输入要添加的数据:")
    new_data = input()
    
    # 处理输入的数据并添加到原数据中
    data.extend(process_default_data(new_data))

# 删除数据
def delete_data(data):
    # 输入要删除的数据索引
    print("请输入要删除的数据索引:")
    index = int(input())
    
    # 检查索引是否有效并删除对应的数据
    if index >= 0 and index < len(data):
        data.pop(index)
        print("删除成功!")
    else:
        print("无效的索引!")

# 打印表格
def print_table(title, data):
    # 打印标题行
    row_format = "{:^10}" * len(title)
    print(row_format.format(*title))
    
    # 打印数据行
    for item in data:
        print(row_format.format(item['product'], item['price'], item['profit'], item['quantity'], item['total']))

# 处理默认输入数据
title, data = process_default_input(default_title + '\n\n' + default_data)

while True:
    print("请选择操作:")
    print("1. 设置标题")
    print("2. 添加数据")
    print("3. 删除数据")
    print("4. 打印表格")
    print("0. 结束")
    
    choice = input()
    
    if choice == '1':
        title = set_title(title)
    elif choice == '2':
        add_data(data)
    elif choice == '3':
        delete_data(data)
    elif choice == '4':
        print_table(title, data)
    elif choice == '0':
        break
    else:
        print("无效的选择!")

现在,您可以尝试运行以上代码,并通过输入选择不同的操作(1. 设置标题、2. 添加数据、3. 删除数据、4. 打印表格、0. 结束)。您可以根据需要进行相应的操作,并查看最终结果。如果有其他问题,请随时提问。

点对点设置单元格

添加可以点对点设置数据
例如input
3,4
表示修改3列4行

要实现点对点设置数据,您可以在添加数据的操作中加入相应的逻辑。以下是修改后的代码示例:

# 默认输入数据和标题
default_title = "产品 单价 利润 数量 总额"
default_data = '''
苹果🍎 10 2 5 50
橘子🍊 8 1.6 4 32
栗子🌰 12 3 3 36
葡萄🍇 20 4 2 40
'''

# 处理默认输入数据
def process_default_input(input_str):
    title_str, data_str = input_str.split('\n\n', 1)
    title = process_default_title(title_str)
    data = process_default_data(data_str)
    return title, data

# 处理默认数据
def process_default_data(input_str):
    data = []
    for line in input_str.split('\n'):
        line = line.strip()
        if line:
            values = line.split()
            item = {}
            item['product'] = values[0]
            item['price'] = float(values[1])
            item['profit'] = float(values[2])
            item['quantity'] = int(values[3])
            item['total'] = item['price'] * item['quantity'] + item['profit']
            data.append(item)
    return data

# 处理默认标题
def process_default_title(title_str):
    return title_str.split()

# 设置标题
def set_title(title):
    # 输入新标题
    print("请输入新标题:")
    new_title = input()
    
    # 处理新标题并返回
    return process_default_title(new_title)

# 添加数据
def add_data(data):
    # 输入要添加的数据
    print("请输入要添加的数据:")
    new_data = input()
    
    # 处理输入的数据并添加到原数据中
    items = process_default_data(new_data)
    data.extend(items)
    print("成功添加以下数据:")
    for item in items:
        print(item)

# 删除数据
def delete_data(data):
    # 输入要删除的数据索引
    print("请输入要删除的数据索引:")
    index = int(input())
    
    # 检查索引是否有效并删除对应的数据
    if index >= 0 and index < len(data):
        data.pop(index)
        print("删除成功!")
    else:
        print("无效的索引!")

# 修改数据
def modify_data(data):
    # 输入要修改的数据索引
    print("请输入要修改的数据索引:")
    index = int(input())
    
    # 检查索引是否有效
    if index >= 0 and index < len(data):
        item = data[index]
        
        # 输入要修改的字段和值
        print("请输入要修改的字段和值(用逗号分隔):")
        field, value = input().split(',')
        
        # 根据输入的字段修改对应的值
        if field in item:
            if field == 'product':
                item[field] = value
            elif field in ['price', 'profit']:
                item[field] = float(value)
            elif field in ['quantity']:
                item[field] = int(value)
            else:
                print("无效的字段!")
                return
            item['total'] = item['price'] * item['quantity'] + item['profit']
            print("修改成功!")
        else:
            print("无效的字段!")
    else:
        print("无效的索引!")

# 打印表格
def print_table(title, data):
    # 打印标题行
    row_format = "{:^10}" * len(title)
    print(row_format.format(*title))
    
    # 打印数据行
    for item in data:
        print(row_format.format(item['product'], item['price'], item['profit'], item['quantity'], item['total']))

# 处理默认输入数据
title, data = process_default_input(default_title + '\n\n' + default_data)

while True:
    print("请选择操作:")
    print("1. 设置标题")
    print("2. 添加数据")
    print("3. 删除数据")
    print("4. 修改数据")
    print("5. 打印表格")
    print("0. 结束")
    
    choice = input()
    
    if choice == '1':
        title = set_title(title)
    elif choice == '2':
        add_data(data)
    elif choice == '3':
        delete_data(data)
    elif choice == '4':
        modify_data(data)
    elif choice == '5':
        print_table(title, data)
    elif choice == '0':
        break
    else:
        print("无效的选择!")

现在,您可以尝试运行更新后的代码。在选择“4. 修改数据”时,您可以输入要修改的数据索引,然后输入要修改的字段和值。程序将根据输入进行相应的修改,并显示结果。希望这次更新能满足您的需求,如果有其他问题,请随时提问。

相关推荐

  1. python绘制水果价格利润1-3

    2024-03-10 06:24:05       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 06:24:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 06:24:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 06:24:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 06:24:05       18 阅读

热门阅读

  1. 网页的用户注册功能

    2024-03-10 06:24:05       22 阅读
  2. 【Spring高级】第3讲 Bean的生命周期

    2024-03-10 06:24:05       21 阅读
  3. 力扣382周赛

    2024-03-10 06:24:05       21 阅读
  4. 人机环境系统与媒体

    2024-03-10 06:24:05       24 阅读
  5. 【AIGC调研系列】大模型的system prompt破解调研

    2024-03-10 06:24:05       20 阅读
  6. Spring MVC 简单文件上传

    2024-03-10 06:24:05       22 阅读
  7. 大模型概念解析 | Prompt Engineering

    2024-03-10 06:24:05       19 阅读
  8. Git基于master创建新分支

    2024-03-10 06:24:05       20 阅读
  9. linux+边缘部署学习记录

    2024-03-10 06:24:05       24 阅读
  10. MongoDB聚合运算符:$dayOfMonth

    2024-03-10 06:24:05       26 阅读