DAY1第一次任务

目录

一.变量、运算符与数据类型

二.位运算

三.条件语句

四.总结


一.变量、运算符与数据类型

1.1注释

怎样对python中的代码进行注释?

为了便于更好的理解代码,注释功能必不可少。在python中,#表示单行注释,'''' '''""" """表示多行注释。示例如下:
【单行注释】

print("hello world") #这是一个单行注释

【多行注释】

'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("hello world")
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""

2.2运算符

python有哪些运算符,这些运算符的优先级是怎样的?

python中有算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。优先级参照下表,优先级由高到低排列。

运算符描述
**描述
~、+、-指数(最高优先级)
*、/、%、//乘、除、取模和取整数
+、-加法、减法
>>、<<右移、左移运算符
`&位与
^、丨位运算符
<=、<、>、>=比较运算符
<>、 ==、 !=等于运算符(<>2.6以前版本的不等,!=Python3后的不等)
=、 %=、 /=、 //=、 -=、 +=、 *=、 **=赋值运算符
is、 is not身份运算符
in、 not in成员运算符
not、 or、 and逻辑运算符

该表引用此文章 https://blog.csdn.net/y_oneyou/article/details/84563908

python 中 is, is not==, != 的区别是什么?

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。反之,is not 用于判断两个变量是否引用自不同的对象,而 != 用于判断引用变量的值是否不等。

python 中包含哪些数据类型?这些数据类型之间如何转换?

(1)Number(数字)

True=1
False=0
数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符
在混合计算时,python会把整形转换为浮点数

(2)String(字符串)

字符串用’或"括起来,同时使用\转义特殊字符串
如果不想让反斜杠发生转义,可以在字符串前面加个r表示原始字符串
索引值以0为开始,-1为末尾的开始位置
加号+是字符串的连接符,星号*表示复制当前的字符串,紧跟的数字为复制的次

(3)List(列表)

list写在方括号之间,元素用逗号隔开
和字符串一样,list可以被索引和切片
list可以使用+操作符进行连接
list中的元素可以改变的

(4)Tuple(元组)

元组与列表类似,不同之处在于元组的元素不能修改,元组写在小括号里。元素之间用逗号隔开
元组也可以被索引和切片,方法一样
注意构造包含0或1个元素的元组的特殊语法规则
元组也可以用+操作符进行拼接

(5)Sets(集合)

set是一个无需不重复的序列,基本功能是进行成员关系的测试和删除重复元素

(6)Dictionary(字典)

字典是一种映射类型,字典用{}标识,它是一个无序的建(key):值(value)对集合
建(key)必须使用不可变类型。在同一个字典中建(key)必须是唯一的
创建空字典使用{}

(7)类型之间的转换

序号转换方式
1int(x,base=10)x字符串或数字,base进制数,默认十进制 浮点转为整数
2float 整数转换为浮点型
3complex(1,2) 转换为复数
4str(10)将对象转换为字符串
5repe()将对象转换为表达式字符串
6repr(dict)将对象转换为表达式字符串
7eval(str)用来计算在字符串中有效的python表达式,返回一个对象
8tuple(listi)将列表转化为元组
9list()将元组转换为列表
10set转换集合

引用文章:https://www.py.cn/faq/python/11767.html

二.位运算

练习题:

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。
题目说明:

"""
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]

Output file
result1: 1
result2: 4
"""

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        
     # your code here

我的解决方案:

class Solution:
    def singleNumber(self, nums):
        count = 0  # 定义一个计数变量
        for i in nums:  # 变量i遍历数组nums
            for j in nums:  # 变量j再次遍历数组nums
                if i ^ j == 0:  # 按位异或操作,进行两两比较,相同为0,不同为1
                    count = count + 1  # 记录数字相同的次数
            if count == 1:  # 如果计数为1,表明除自己以外没有相同的元素
                print(i)    #输出单个的元素
            else:
                count = 0  # 计数清零,进入下一个循环

Solution().singleNumber([1,2,2,3,3])

三.条件语句

if expression:
    expr_true_suite
  • if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
  • 单个 if 语句中的 expression 条件表达式可以通过布尔操作符 andornot 实现多重条件判断。
if expression:
    expr_true_suite
else:
    expr_false_suite
  • 如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
if expression1:
    expr1_true_suite
elif expression2:
    expr2_true_suite
    .
    .
elif expressionN:
    exprN_true_suite
else:
    expr_false_suite
  • elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。

如果只想执行一个代码块,就用if-elif-else结构;如果要运行多个代码块,那么用多个if。

四.总结

通过本次的学习,我知道了原来数据类型和我之前了解的有些差距,我之前一直以为数据类型无非是int、float、double、bool、str之类的,原来它们只是全部类型中的一小部分,看来还有非常多的知识需要学习。此外,还通过自己的努力实现了在一个双数数组中找出其中的一个单数,利用了本次任务学习的if语句,此外还复习了for循环的遍历应用。收获很多,继续加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Java中的ScheduledExecutorService类来设置定时任务,具体操作如下: 1. 创建ScheduledExecutorService对象: ``` ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); ``` 2. 创建Runnable任务,将您要执行的代码封装在run()方法中: ``` Runnable task = new Runnable() { @Override public void run() { // 这里放置您要执行的代码 } }; ``` 3. 计算当前时间到下一次执行时间的时间差,以毫秒为单位: ``` Calendar now = Calendar.getInstance(); Calendar nextRunTime = Calendar.getInstance(); nextRunTime.set(Calendar.HOUR_OF_DAY, 1); nextRunTime.set(Calendar.MINUTE, 0); nextRunTime.set(Calendar.SECOND, 0); nextRunTime.set(Calendar.MILLISECOND, 0); if (nextRunTime.before(now)) { nextRunTime.add(Calendar.DAY_OF_MONTH, 1); } long initialDelay = nextRunTime.getTimeInMillis() - now.getTimeInMillis(); ``` 4. 设置定时任务: ``` scheduledExecutorService.scheduleAtFixedRate(task, initialDelay, 24 * 60 * 60 * 1000, TimeUnit.MILLISECONDS); ``` 其中,scheduleAtFixedRate()方法的第一个参数是要执行的任务,第二个参数是初始延迟时间,第三个参数是定时周期,第四个参数是时间单位。在本例中,我们将初始延迟时间设置为当前时间到下一次执行时间的时间差,定时周期设置为24小时,表示每隔一天执行一次。请根据您的实际情况进行修改。 注意:ScheduledExecutorService类是Java 5新增的类,如果您的项目使用的是Java 5以下的版本,可以考虑使用Timer类来实现定时任务

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值