尝试添加一个不是数字的哨兵(Python)



(我是Python新手,所以请提前原谅我)我必须写一个程序来计算从1到用户输入的整数的总和。如果输入4,它会加上1+2+3+4。我还添加了一个参数,使小于1的数字打印"无效数字"。我被困在添加一个哨兵,那是一个字母。谢谢你

value = input("Enter a number or press J to terminate: ")
if value < 1:
print("Invalid number")
else:
i = 1
while value > 1:
i = i + value
value = value - 1
print(i)

这是我尝试做的代码:

value = input("Enter a number or J to finish: ")
if value < 1:
print("Invalid number")
while value ! = "J":
i = float(value)
else:
i = 1
while value > 1:
i = i + value
value = value - 1
print(i)
value = input("Enter a number or J to finish: ")

输入J或任何数字时出错,'<'在'str'和'int'实例之间不支持。

函数input()始终将输入存储为string数据类型

所以如果你把input作为4意味着它会把4当作string而不是integer

现在记住这一点,现在试试:

value = input("Enter a number or J to finish: ")
if value > 1:
print("BOTH DATA TYPES ARE SAME ")

value = 4

现在我们比较4 =>"string"1 =>&;int",不可能比较&;integer&;与"string"出现错误

如果您想以int的形式获得输入,则使用以下int(input(""))

我希望它会有所帮助,谢谢你

回答的开头。

value = input("Enter a number or J to finish: ")
while value ! = "J":
i = float(value)
# a placeholder for future code
print(value)
# There is a lot of possible code to achieve the goal.

最新更新