编写一个程序，生成斐波那契数列中的前 n 项，并计算前 n 项的和。
n 的取值范围：1 到 20。
以下是Python代码实现：

```
n = int(input("请输入n的值（1到20之间）："))

a = 0
b = 1
sum = 0

if n <= 0:
   print("请输入正整数!")
elif n == 1:
   print("斐波那契数列：")
   print(a)
   sum = a
else:
   print("斐波那契数列：")
   for i in range(0, n):
       print(a)
       sum += a
       c = a + b
       a = b
       b = c
print("前", n, "项斐波那契数列的和为：", sum)
```

运行代码后，程序会要求输入n的值。用户输入之后，程序会生成前n项斐波那契数列，并计算它们的和。如果用户输入的不是1到20之间的正整数，则程序会提示要求重新输入。