我目前正在用 Python 3.3.0 编写一个程序,它打印出 n 个第一个平方数,最后打印出它们的总和。条件是用户只能计算大于零的整数项。这是代码:
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)
现在,我设法为用户输入负数时的错误消息编写代码。但是,当用户键入字符串(例如“十五”)时,我很难为错误消息编码。
我希望程序允许用户一次又一次地尝试分配“n”一个值,就像他们输入了一个负数一样;基本上,如果用户输入字符串,我想编写一个循环,一遍又一遍地询问相同的事情。
问题是 input() 总是将字符串分配给任意变量,所以我尝试编写代码将字符串转换为整数。当用户输入一个整数值时它可以正常工作,但是如果 'n' 不是整数,它就不能定义 int(n)。
关于这个问题,我用谷歌搜索了很多,我发现了一些使用 try 和除了 ValueError 的示例,但它们似乎都无法从中创建循环。
有人有想法吗?