2021/2/1 Day3

本文介绍了Python中支持的各种数字运算操作,包括地板除、求余数、取绝对值等,并解释了逻辑运算符的行为及运算符优先级。

前几天把进度落下了,惭愧,今天开始继续学,希望不要再拖拖拉拉啦

 

Python支持的数字运算如下:

其中:

 “//” 是地板除,确保相除的结果是一个整数,向下取整

divmod返回的是地板除和余数

abs在实数时返回绝对值,但是在复数时返回的时复数的模

以下是所有结果为False的情况:

逻辑运算符

and和or都遵从短路逻辑

Python的运算符优先级:

日期转换出现错误,可能是由于转换逻辑存在问题,比如日期计算错误、格式处理不当等。以下是几种常见场景及解决办法: ### 手动计算日期差值导致错误 如果是通过手动计算日期差值来转换日期,可能在计算天数、月数、年数时出现错误。可以使用 VBScript 内置的日期函数来进行日期的计算。 ```vbscript Dim startDate, endDate startDate = CDate("2021/9/28") &#39; 假设这里要计算从 startDate 到 endDate 的差值,然后进行转换 &#39; 这里简单示例,假设是要计算相隔的天数 Dim daysDiff daysDiff = DateDiff("d", startDate, CDate("2034/3/14")) &#39; 验证计算结果 Dim newDate newDate = DateAdd("d", daysDiff, startDate) If newDate = CDate("2034/3/14") Then WScript.Echo "日期转换正确: " & newDate Else WScript.Echo "日期转换错误,正确结果应该是: " & CDate("2034/3/14") & ",实际计算结果是: " & newDate End If ``` ### 日期格式问题 如果在日期转换过程中涉及到日期格式的处理,可能会因为格式不匹配导致错误。要确保在转换过程中使用正确的日期格式。 ```vbscript Dim dateStr dateStr = "2021/9/28" Dim formattedDate formattedDate = CDate(dateStr) &#39; 验证日期转换 If IsDate(formattedDate) Then WScript.Echo "日期转换成功: " & formattedDate Else WScript.Echo "日期转换失败,请检查日期格式。" End If ``` ### 正则表达式匹配错误 如果使用正则表达式来处理日期转换,可能会因为正则表达式模式不准确导致匹配错误。可以使用前面提到的 `RegExp` 对象来确保正确匹配日期格式。 ```vbscript Function SmartDateTimeParse(str) Dim regEx Set regEx = New RegExp regEx.IgnoreCase = True regEx.Global = True Dim patterns patterns = Array( _ "(\d{4})/(\d{1,2})/(\d{1,2})" _ ) Dim pattern For Each pattern In patterns regEx.Pattern = pattern If regEx.Test(str) Then Dim Matches Set Matches = regEx.Execute(str) Dim match Set match = Matches(0) Dim year, month, day year = CInt(match.SubMatches(0)) month = CInt(match.SubMatches(1)) day = CInt(match.SubMatches(2)) SmartDateTimeParse = DateSerial(year, month, day) Exit Function End If Next SmartDateTimeParse = "" End Function Dim testStr testStr = "2021/9/28" Dim result result = SmartDateTimeParse(testStr) If result <> "" Then WScript.Echo "解析结果: " & result Else WScript.Echo "无法解析该日期时间字符串。" End If ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值