数字 不能和字符串做比较吗?
本帖最后由 wangwang123 于 2021-10-2 03:50 编辑nums = []
while True:
i = int(input("请录入一个整数(输入STOP结束):"))
nums.append(i)
if i == "STOP":
break
为什么我的就不行呢。。。在答案里,也是数字和字符串比较的呀,还是说字符串不能和int的数据比较。就很懵,哪位哥哥姐姐可以帮忙解释一下。谢谢啦~小白一枚
答案在下面:
nums = []
isInput = True
while isInput == True:
x = input("请录入一个整数(输入STOP结束):")
if x != "STOP":
nums.append(int(x))
else:
isInput = False 不是数字不能和字符串判断是否相等,而是非数字字符不能用int函数。 本帖最后由 傻眼貓咪 于 2021-10-2 09:01 编辑
解说如下
你的代码:nums = []
while True:
i = int(input("请录入一个整数(输入STOP结束):")) # 这里你已经定义输入值为整数类型了,也不能输入其它字符串,否则报错
nums.append(i)
if i == "STOP": # 如上,整数类型不可能是字符串 "STOP"(所以 while 会永远循环)
break正解:nums = []
isInput = True
while isInput == True:
x = input("请录入一个整数(输入STOP结束):") # 这里只是输入值,没有定义类型(所以默认类型:字符串)
if x != "STOP": # 如果字符串不是 "STOP"
nums.append(int(x)) # 则将字符串变成整数类型(int)
else: # 如果字符串是 "STOP"
isInput = False # 则 isInput 为假 不同类型的数据之间不能比较,
你下边数字和字符串比较是因为先用 int函数 把字符串强制转换成了数字才进行比较的 qq1151985918 发表于 2021-10-2 04:39
不是数字不能和字符串判断是否相等,而是非数字字符不能用int函数。
对的~谢谢啦
页:
[1]