使用两个Scale控制矩形的长和宽
时间: 2023-04-10 16:03:09 浏览: 72
可以使用以下代码实现:
```lua
function createRectangle(width, height)
local scaleWidth = function(scale)
return width * scale
end
local scaleHeight = function(scale)
return height * scale
end
return {
scaleWidth = scaleWidth,
scaleHeight = scaleHeight
}
end
-- 创建一个宽为10,高为20的矩形
local rectangle = createRectangle(10, 20)
-- 将宽度缩小一半
local scaledWidth = rectangle.scaleWidth(0.5)
-- 将高度放大2倍
local scaledHeight = rectangle.scaleHeight(2)
print(scaledWidth, scaledHeight) -- 输出 5 40
```
这个代码使用了闭包来创建一个矩形对象,该对象包含两个函数:`scaleWidth` 和 `scaleHeight`,分别用于缩放矩形的宽度和高度。在使用时,我们可以先创建一个矩形对象,然后调用其函数来缩放矩形的长和宽。
相关问题
用Python写一个通过Scale控制的矩形框
好的,这个问题我可以回答。你可以使用Python中的Tkinter库来创建GUI界面,并使用Canvas组件来绘制矩形框。然后,你可以使用Scale组件来控制矩形框的大小。以下是一个简单的示例代码:
```python
from tkinter import *
root = Tk()
canvas = Canvas(root, width=400, height=400)
canvas.pack()
rect = canvas.create_rectangle(50, 50, 150, 150, fill='blue')
def update_rect(val):
canvas.coords(rect, 50, 50, 50+int(val), 50+int(val))
scale = Scale(root, from_=0, to=200, orient=HORIZONTAL, command=update_rect)
scale.pack()
root.mainloop()
```
这个代码创建了一个400x400的窗口,其中包含一个蓝色的矩形框和一个水平方向的Scale组件。当你拖动Scale组件时,矩形框的大小会随之改变。
输入矩形的面积和周长输出矩形的长和宽,通过shell脚本实现
可以使用bc命令进行数学计算,并利用read命令获取输入的面积和周长,然后进行计算得到矩形的长和宽。以下是一个简单的实现:
```bash
#!/bin/bash
echo "请输入矩形的面积:"
read area
echo "请输入矩形的周长:"
read perimeter
# 计算矩形的长和宽
length=$(echo "scale=2; ($perimeter + sqrt($perimeter*$perimeter-16*$area))/4" | bc)
width=$(echo "scale=2; $area/$length" | bc)
echo "矩形的长为:$length"
echo "矩形的宽为:$width"
```
在命令行中执行该脚本,并按照提示输入矩形的面积和周长,即可得到矩形的长和宽。注意,在计算矩形的长时,需要使用求根公式,因此需要使用bc命令的sqrt函数来计算平方根。