如题,我现在终于理解Bilibili为什么在2021年会崩溃了,就是因为Lua变量的类型导致的
我也遇到了一个类似的bug,我想写一个计时器,让用户输入年,分,秒,并转化成秒然后返回,具体代码如下:
[Python] 纯文本查看 复制代码 def getTime():
hour = 0
minute = 0
second = 0 #我当时以为这样这三个参数就为int类型了XD
hour = input("Hour $ ")
minute = input("Minute $ ")
second = input("Second $ ")
result = hour * 60 * 60 + minute * 60 + second
return result
当我输入0,0,0的时候,你们猜发生了什么
我的屏幕上出现了3661个0
为什么呢?
因为在Python中,一个变量可以接受不同类型的值
input函数返回的是字符串,又刚好python可以用字符串*数字,具体如下:
[Python] 纯文本查看 复制代码 string = "homo" * 2
print(string)
#输出:homohomo
所以产生了这样的bug
解决方案:
[Python] 纯文本查看 复制代码 hour = int(input("Hour $ "))
minute = int(input("Minute $ "))
second = int(input("Second $ "))
真是一个奇妙のbug
|