变量

python中不用像C++一样先定义数据类型再赋值,可以直接赋字符串类型、字典类型、元组类型、列表类型:




python的变量名只能包含数字 字母 下划线,不能以python的关键字命名,可以以下划线开头,字符串可以以单引号或者双引号括起来,拼接字符串不需要像c++那样用特殊的函数比如strcat函数(c++中用来拼接两个字符串的函数),python中可以**直接用加号连接,**如:

python中也有一些转义字符,如\t,\n
★python中一个特别的方法:
Python能够找出字符串开头和末尾多余的空白。即方法rstrip() 。
(不知道是不是版本问题,我一直用这个方法以后空格并没有减少)

Python将带小数点的数字都称为浮点数,输出时的小数点位数:

(不知为什么最后还带了一个4)
两个位数不一样时,按照位数高的输出了:

★用函数str() 避免类型错误
如在同时输出字符串和数字时:

由于python无法识别age是什么类型因此报错,添加上str表明显式地指出你希望Python将这个整数用作字符串:

python的位运算

输出数字的二进制形式:

不同的数据类型

*列表

*:用[]
python中有一个title方法可以把单词第一个字母转为大写:

和c++一样索引下标从0开始。

排序:

nums=[1,23,412,-1]
nums.sort()
for i in iter(nums):print(i)

Python中遍历列表有以下几种方法:

一、for循环遍历

for item in lists:
print(item)

运行结果:

二、while循环遍历:

nums=['liang','guo','jing']
count = 0
nums.sort()
while count < len(nums):print(nums[count])count = count+1

count = 0

while count < len(lists):

print(lists[count])

count = count + 1
结果:

发现有英文的列表是按照字母顺序来排的。猜测是asii码

三、索引遍历:

nums=['liang','guo','jing']
count = 0
nums.sort()
for index in range(len(nums)):print(nums[index])

四、使用iter()

for val in iter(lists):
print(val)
五、enumerate遍历方法

for i, val in enumerate(lists):
print(i, val)
运行结果:

当从非0下标开始遍历元素的时候可以用如下方法

for i, el in enumerate(lists, 1):

print(i, el)
for i, el in enumerate(lists, 1):

print(i, el)
运行结果:

习题

3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为names 。依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。

3-2 问候语: 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的姓名。

 xingming=['梁','李','张']for i in range(len(xingming)):print(xingming[i]+'你在干啥呀')

输出:
梁你在干啥呀
李你在干啥呀
张你在干啥呀

位运算:136. 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明:
一开始自己想的是很直接的遍历。。。:

nums=[1,2,1]nums.sort();b = len(nums)if nums[0] != nums[1]:print(nums[0])if nums[b - 1] != nums[b - 2]:print(nums[b - 1])for index in range(1, len(nums) - 1):mm = nums[index - 1]nn = nums[index + 1]if mm != nums[index] and nn != nums[index]:print(nums[index])

在pycharm里面测试是可以输出只出现一次的元素
然后官方是这样解的:

 def singleNumber(self, nums: List[int]) -> int:return reduce(lambda x, y: x ^ y, nums)

搞不懂为什么官方的代码也跑不成功,说是缩进有问题,我看了半天明明缩进是正常的,服了

一些特殊的用法(c++中没有的

1.python中的if表示与和或用and or
2.reduce函数:
第一个参数为方法,第二个参数为列表:
3.lambda

reduce:

li1=[1,3,412,1]suum = reduce(add,li1)print(suum)

发现中文也可以直接拼接:


lambda:
表达式 = lambda [parameters,即参数] : [func,即执行的运算过程]

lambda结合异或运算:

由于力扣的题目一开始并没有想到用异或运算,位运算在C++也用得不多,看见官方题解是异或运算,于是去了解了一下,还是挺简洁的。

 yy = lambda x,y,z:x^y^zm = yy(3,3,7)print(m)

附:python的关键字+内置函数

关键字:
False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass
break except in raise

函数:
abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reversed()zip() Zip()
compile() hasattr() memoryview() round() import()
complex() hash() min() set() apply()
delattr() help() next() setattr() buffer()
dict() hex() object() slice() coerce()
dir() id() oct() sorted() intern()

从键盘输入然后相加:

 a=input()b=input()c=int(a)+int(b)print(c)

循环练习题+龟兔赛跑

1、编写一个Python程序来查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间。
结果:

 for i in range(1500,2700):if i % 5 == 0 and i % 7 == 0:print(i,end=" ")if i % 100 == 0:print('\n')

2、龟兔赛跑游戏


代码:

if __name__ == '__main__':# a, b = map(lambda x: int(x), input("请输入两个数:").split())# print(type(a), a)v1=int(input())v2=int(input())t=int(input())s=int(input())l=int(input())print(int(v1)+int(v2))i = int(l)/int(v2)print(i)s1 = int(0)s2 = int(0)time = int(0)tt = int(0)length = int(i)while time < (length):time=time+1s1 = s1+v1s2 =  s2+ v2print(s1)if s1-s2 == t:s2 = s2+s*v2time = time+ sif s1== l and s2 != l:print('R '+str(time))if s1 != l and s2 == l:print('T '+str(time))if s1 == l and s2 == l:print('D '+str(time))

1作业python数据类型 条件循环 列表相关推荐

  1. python代码变量作业_1作业python数据类型 条件循环 列表

    变量 python中不用像C++一样先定义数据类型再赋值,可以直接赋字符串类型.字典类型.元组类型.列表类型: python的变量名只能包含数字 字母 下划线,不能以python的关键字命名,可以以下 ...

  2. python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

  3. python中表示单一数据的类型被称为_各种Python数据类型的完整列表

    各种Python数据类型的完整列表 如今,Python是最受欢迎的编程语言之一.它允许开发人员将所有精力都放在实现上,而不是将复杂的程序和python中的数据类型用于此目的只是为了简化我们的工作. P ...

  4. python列表使用判断_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

  5. python for in循环列表_python 之 使用 for-in 循环遍历范围,元组,列表,字典

    语法格式:for 变量 in 范围 | 元素 | 集合等: for循环语法结构列如序列或迭代器作为其参数每次迭代其中一个元素. 与while循环一样,支持break,continue,else语句. ...

  6. python双重for循环 列表推导式_Python 列表推导式

    列表推导式(list comprehension)是利用其它列表创建新列表的一种方式.它的工作方式类似于for循环,例如: >>> [x*x for x in range(10)] ...

  7. python中for循环列表_如何通过Python中的for循环传递列表列表?

    我有一份清单清单: sample = [['TTTT', 'CCCZ'], ['ATTA', 'CZZC']] count = [[4,3],[4,2]] correctionfactor = [[1 ...

  8. python按条件拆分列表元素_如何通过在python中拆分列表元素来创建列表?

    您的方法不起作用,因为,split返回一个列表.因此,您的代码会创建一个嵌套列表.您需要将其展平以与Counter一起使用.你可以用很多方式压扁它. from itertools import cha ...

  9. python按条件拆分列表元素_Python按多个元素和条件拆分列表

    与您链接的另一个答案中的方法类似,我将指导您使用生成器来实现更通用的解决方案.在def split_list(wordlist, splitwords = {}): out = [] worditer ...

最新文章

  1. perl dancer + net::ssh2监控服务器性能
  2. 史上最强CP!程序猿+喵星人
  3. jQuery Select操作大集合
  4. android api 打开慢,为什么下了android 4.1 的SDK后在本地用浏览器看api说明文档时,浏览器打开api的html文件很慢?试了好几款浏览器都一样。为什么?...
  5. 洛谷·[HNOI2015]落忆枫音
  6. YOLOv报错Downloading https://ultralytics.com/assets/Arial.ttf to /root/.config/Ultralytics/Arial.ttf..
  7. 献给在这个世界上摇摆不定的朋友们
  8. Android智能指针——读书笔记
  9. 马哥2016linux就业班+架构班+运维班全套
  10. SpringCloud使用手册
  11. 互联网广告请求链路_生产环境的全链路压测应该怎么做?答案都在这里了
  12. 晓前端·周刊【第7期】:信息的不对称与真实性(上)
  13. 学习笔记:百度和360关键字提交
  14. samsung学习笔记4
  15. 【初识C++】细说类与对象 (上)
  16. AJAX框架:Rialto的使用
  17. 信号工必备基础100问【转自微信公众号铁路信号技术交流】
  18. 使用NetFlow分析互联网网络异常流量
  19. 我的 Serverless 实战 — 入门项目实战(2021以后都属于云的时代!)
  20. DirectoryEntry配置IIS出现ADSI Error:未知错误(0x80005000)

热门文章

  1. python矩阵行秩函数_为什么矩阵行秩等于列秩?
  2. oracle 执行sql参数混乱,乱用_allow_resetlogs_corruption参数导致悲剧
  3. linux乌邦图更改ip,Linux系统下图形界面更改IP地址分享
  4. 临沧计算机教试报名,2019下半年临沧小学计算机教师资格证考什么?
  5. 小学四年级下册计算机考试试题,四年级信息技术下学期测试题
  6. spark算子大全glom_2小时入门Spark之RDD编程
  7. 二十三、 爬取mzsock网站写真社区
  8. 三十八、网络通信Socket模块实现文件传输
  9. 时间序列预测方法汇总:从理论到实践(附Kaggle经典比赛方案)
  10. 北京内推 | 阿里云视频处理算法团队招聘视频处理算法实习生