set multiplier 1 set b 0 label .l -textvariable multiplier frame .f foreach i {-1 4 7 36} { button .f.b$b -text $i -command "updateMultiplier $i" pack .f.b$b -side left -fill x -expand y incr b } pack .l -fill x pack .f -fill both -expand y proc updateMultiplier {i} { global multiplier set multiplier [expr $multiplier * $i] }