<p>我正在用python3.3.0编写一个程序,它打印出n个第一个平方数,最后输出它们的和。条件是用户只能计算大于零的整数项。代码如下:</p>
<pre><code>print("WELCOME!")
n = input("How many numbers to sum up?: ")
while n <= 0:
print("You have to write a positive integer; try again!")
n = input("How many numbers to sum up?: ")
i = 1
sum = 0
while 0 < i <= n:
print(i,"*",i,"=", i**2)
sum += i**2
i += 1
print("Sum:", sum)
</code></pre>
<p>现在,我成功地为用户输入负数时的错误消息编写了代码。但是,当用户键入一个字符串(如“十五”)时,我很难编写错误消息。在</p>
<p>我想让程序允许用户一次又一次地给“n”赋值,就像他们输入了一个负数一样;基本上,如果用户输入一个字符串,我想编写一个循环,一遍又一遍地请求相同的东西。在</p>
<p>问题是input()总是将字符串赋给任意变量,因此我尝试编写代码将字符串转换为整数。当用户输入整数值时,它工作得很好,但是如果'n'不是整数,它就不能定义int(n)。在</p>
<p>关于这个问题,我在google上搜索了很多,我发现了一些使用try和except ValueError的例子,但似乎没有一个能够从中创建循环。在</p>
<p>有人知道吗?在</p>