我正在尝试生成一个随机数用作秒并将该数字转换为小时,但我不知道如何获取我生成的数字并将其放入转换器中。
到目前为止我有这个:
import random
import datetime
print(random.randint(30000, 1000000)) = a
sec = a
res = datetime.timedelta(seconds =sec)
print(res)
我应该做什么才能使这项工作成功?
print()
是一个函数,你将它设置为一个变量?这是行不通的。您必须将要打印的值设置为变量:
a = random.randint(30000, 1000000)
但是因为您将
sec
设置为 a
,所以您只需将 sec
设置为随机值即可:
import random
import datetime
sec = random.randint(30000, 1000000)
并且您不需要日期时间模块将秒转换为小时。您只需将秒数除以 3600(一小时的秒数)即可:
import random
sec = random.randint(30000, 1000000)
hour = sec/3600
print(f"{sec} seconds is equals to {hour} hour(s)")
为了确保间距正确,我假设您的代码看起来像这样
import random
import datetime
print(random.randint(30000, 1000000)) = a
sec = a
res = datetime.timedelta(seconds=sec)
print(res)
首先,如果要将随机整数分配给“a”,则必须将“a”放在等号的左侧(请记住,右侧的值将分配给左侧的任何变量。如果如果您想打印 a 的值(随机整数的值),则必须在单独的行中执行此操作。 所以你的代码应该看起来像这样。
import random
import datetime
a = random.randint(30000, 1000000)
print(a)
res = datetime.timedelta(seconds = a)
print(res)
希望有帮助!
我在你的代码中做了一些修改。这是你想要的吗?
import random
import datetime
a = random.randint(30000, 1000000)
print(a)
sec = a
res = datetime.timedelta(seconds =sec)
print(res)
如果您想要将随机秒数转换为天、小时、分钟和秒,请尝试以下操作:
import random
import datetime
seconds = (random.randint(30000, 1000000))
res = str(datetime.timedelta(seconds=seconds))
print(res)
如果您只想要小时,可以使用以下代码生成随机秒值:
import random
import datetime
seconds = (random.randint(30000, 1000000))
hours = round(seconds/3600)
print(f"Time in hours: {hours}")
如果您不希望时间四舍五入为
int
,只需删除 round()
。