循环并检查是否为整数
Loop and check if integer
我有一个练习:
Write code that asks the user for integers, stops loop when 0 is given.
Lastly, adds all the numbers given and prints them.
到目前为止,我做到了:
a = None
b = 0
while a != 0:
a = int(input("Enter a number: "))
b = b + a
print("The total sum of the numbers are {}".format(b))
但是,如果输入不是整数,代码需要检查输入并给出消息。
在网上搜索时发现了这一点,但对于我来说,我无法将这两个任务结合起来。
while True:
inp = input("Input integer: ")
try:
num = int(inp)
except ValueError:
print('was not an integer')
continue
else:
total_sum = total_sum + num
print(total_sum)
break
我怀疑你在某处需要 if
但无法解决。
根据您的尝试,您可以合并这两个任务,例如:
a = None
b = 0
while a != 0:
a = input("Enter a number: ")
try:
a = int(a)
except ValueError:
print('was not an integer')
continue
else:
b = b + a
print("The total sum of the numbers are {}".format(b))
如果您想使用 If-Statement,则不需要 else:如果数字不是 0,它将重新开始,直到某个时候为 0。
total_sum = 0
while True:
inp = input("Input integer: ")
try:
num = int(inp)
except ValueError:
print('was not an integer')
continue
total_sum = total_sum + num
if num == 0:
print(total_sum)
break
由于 input
的 return 是一个字符串,因此可以使用 isnumeric
看不到给定值是否为数字。
如果是这样,可以将 string
转换为 float
并使用 is_integer
.[=18 检查给定的 float
是否为 integer
=]
a = None
b = 0
while a != 0:
a = input("Enter a number: ")
if a.isnumeric():
a = float(a)
if a.is_integer():
b += a
else:
print("Number is not an integer")
else:
print("Given value is not a number")
print("The total sum of the numbers are {}".format(b))
我有一个练习:
Write code that asks the user for integers, stops loop when 0 is given. Lastly, adds all the numbers given and prints them.
到目前为止,我做到了:
a = None
b = 0
while a != 0:
a = int(input("Enter a number: "))
b = b + a
print("The total sum of the numbers are {}".format(b))
但是,如果输入不是整数,代码需要检查输入并给出消息。
在网上搜索时发现了这一点,但对于我来说,我无法将这两个任务结合起来。
while True:
inp = input("Input integer: ")
try:
num = int(inp)
except ValueError:
print('was not an integer')
continue
else:
total_sum = total_sum + num
print(total_sum)
break
我怀疑你在某处需要 if
但无法解决。
根据您的尝试,您可以合并这两个任务,例如:
a = None
b = 0
while a != 0:
a = input("Enter a number: ")
try:
a = int(a)
except ValueError:
print('was not an integer')
continue
else:
b = b + a
print("The total sum of the numbers are {}".format(b))
如果您想使用 If-Statement,则不需要 else:如果数字不是 0,它将重新开始,直到某个时候为 0。
total_sum = 0
while True:
inp = input("Input integer: ")
try:
num = int(inp)
except ValueError:
print('was not an integer')
continue
total_sum = total_sum + num
if num == 0:
print(total_sum)
break
由于 input
的 return 是一个字符串,因此可以使用 isnumeric
看不到给定值是否为数字。
如果是这样,可以将 string
转换为 float
并使用 is_integer
.[=18 检查给定的 float
是否为 integer
=]
a = None
b = 0
while a != 0:
a = input("Enter a number: ")
if a.isnumeric():
a = float(a)
if a.is_integer():
b += a
else:
print("Number is not an integer")
else:
print("Given value is not a number")
print("The total sum of the numbers are {}".format(b))