tkinter entry用于循环中,只有最后一个循环的get方法起作用

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
def policy_btn():

    po_save = policy_choose.get()
    po_para = po_entry.get()
    if po_save == "环保投资比例":
        print("环保投资比例" + po_para)
    elif po_save == "节能投资比例":
        print("节能投资比例" + po_para)
    elif po_save == "能源税税率":
        print("能源税税率" + po_para)
    else:
        print("绿色信贷利率" + po_para)

num = 3        


i = 1
while i <= num:
    po_label1 = ttk.Label(root,text = "政策" + str(i))
    po_label1.grid(row = i+4, column = 0, sticky=tk.W)
    policy = tk.StringVar()   
    policy_choose = ttk.Combobox(root, textvariable=policy)
    policy_choose['values'] = ("环保投资比例", "节能投资比例", "能源税税率", "绿色信贷利率")     
    policy_choose.grid(row=i+4, column=1)  

    po_label2 = ttk.Label(root,text = "参数:")
    po_label2.grid(row = i+4, column = 2, sticky=tk.W)
    v = tk.StringVar()
    po_entry = ttk.Entry(root,textvariable = v)
    po_entry.grid(row = i+4, column = 3, sticky=tk.W)       

    btn2 = ttk.Button(root, text = "确定", command = policy_btn)
    btn2.grid(row = i+4, column = 4, sticky = tk.W)

    i+=1

root.mainloop()

怎样能每次循环都有效?主要是想得到用户每次的选项,然后依次print,如果有别的方法也可以

你可以使用不同的输入框和按钮,建议你查找一下eval 和 exec函数的资料,把它们结合用起来