Python学习(一)

2021/7/10 17:10:53

本文主要是介绍Python学习(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Python学习(一)

Python基本语法规则

注释  #
代码分隔,继续上一行  \
文本分隔  \n
多行文本赋值  '''
多行语句写在一行  ;
分隔代码块  :
缩进(深度缩进)
空行(用于分割,函数与类,阅读体验好,空行也是程序的一部分)
模块

Python标识符命名规则

标识符:计算机语言中,允许作为名字的有效字符串集合
特殊标识符(关键字,BIFs,专用下划线标识符)
创建合法的标识符规则:第一个字符以字母或下划线开始
				  其他部分可以是数字,字母或下划线
				  大小写敏感
变量命名时建议采用驼峰表示法

Python中的关键字

常量
        True、false、None
函数、类对象和模块
        def , class,import,from,del,global , return , lambda
判断与循环
        If,elif,else,is,in,assert , and , or , not
循环
        for,while,continue,break,pass
异常
        with , raise,try,except,finally,as

BIFs:Python自带电池

查看: dir(__builtins__)
IO:print(), open(), input()
列表与帮助:dir()与help()
类型与身份:type(),id(),memoryview(),isinstance(), issubclass(),
数学运算类:sum,pow,round,min,max,hash等
类型转换:int,bin,hex,oct,str,float,list,bytes等
序列: len(), range(), zip(), map(),reduce(),filter(), reversed() , sorted(), enumerate()

标准操作符

算术运算符: +、-、*、/、//(取整)、%、**(求幂)
比较运算符: =!、==、>、>=、<、<=
赋值运算符: =、(增量赋值: +=、-=、*=、/=、**=、//=)
逻辑运算符: and/or/not
成员运算符: in/not in
身份运算符: is/is not

变量赋值

简单赋值(赋值符=)
    a=100
多重赋值  
    a=b=c=100
多元赋值 
    a,b,c=99,100,101
    print(a,b,c)
变量交换赋值
    a,b,c=b,c,a
    print(a,b,c)

循环

一、 for迭代循环(左闭右开)

 for i in range(5);
     print(i)

运行结果:
0
1
2
3
4

二、while条件循环
   1.死循环
   2. 条件循环
三、循环控制
   1. break终止循环
i=0
while True:
    print(i)
    i+=1
    print('break',i)
    if i==7:break

运行结果:
0
break 1
1
break 2
2
break 3
3
break 4
4
break 5
5
break 6
6
break 7

    2.continue
for i in range(5):
    if i==2: continue
    print('For loop, ',i,' times run')

运行结果:
For loop, 0 times run
For loop, 1 times run
For loop, 3 times run
For loop, 4 times run

    3.pass
for i in range(5):
	if i==2: 
		pass
	######################
	else:
		print('For loop, ',i,' times run')

运行结果:
For loop, 0 times run
For loop, 1 times run
For loop, 3 times run
For loop, 4 times run

条件判断

1.if
age=32
if age>18:
    print('you are a adult!')

运行结果:
you are a adult!

2.if else
age=32
if age>18:
    print('you are a adult!')
else:
    print('you are a teenage!')

运行结果:
you are a adult!

3.if elif
l1=list('china')
print(l1)
for item in l1:
    if item=='a': print('-aaa-')
    elif item=='i': 
        print('iiii')
    elif item=='h': 
        print('>>>h')
    else:
        print(item)

运行结果:
[‘c’, ‘h’, ‘i’, ‘n’, ‘a’]
c
>>>h
iiii
n
-aaa-

三元表达符

语法:
    为真时的结果 if 判定条件 else 为假时的结果 
websiteUrl='julyedu.com'
print('.com域名') if '.com' in websiteUrl  else print('其它类型域名')

运行结果:
.com域名

Python标准数据类型

不可变类型:
        数值      Number
        字符串    String
容器类型(可变类型):
        列表      List
        元组      Tuple
        集合      Set
        字典      Dictionary

Python标准数据类型–数值类型

数值类型
    int整数类型
    	a=100;b=200
        进制表示与转化
        	a=0b0101 #二进制,bin()
        	b=0o0101#八进制 ,oct()
   			c=0x0101#十六进制,hex()
   		float("inf")#正无穷
		float("-inf")#负无穷
    float浮点
       	a=5.117
		科学计数法
			c=5e3
			d=7e-4
    complex复数
a=5+22j
   type(a)
   	print(a.real,a.imag)

运行结果:
5.0 22.0

操作
    数值类型间转换
    绝对值、四舍五入
    	abs(a)
		round(a,1)
		
    其他操作

Python标准数据类型–字符串型

1.字符串的初始化(单引与双引在表示字符串时没有区别。但字符串开头结尾必须使用同一种引号。否则报错)    ‘’,“”
          转义(如果是字符串包含单引或双引,则需要对其进行转义)    \
2.字符串长度    len()
3.访问
	3.1访问之循环
a='china'
for item in a:
	print(item)

运行结果:
c
h
i
n
a

	3.2访问之索引(0代表第一个元素;-1代表字符串最后一个元素)
a='china'
print(a[0])

运行结果:
c

	3.3访问之切片(左闭右开)
a='china'
print(a[1:3])
print(a[1:4])
print(a[0:-1:1])
print(a[0:-1:2])
print(a[::-1])

运行结果:
hi
hin
chin
ci
anihc

4.格式化输出
	format
	url=' http://www.{}.Com '
	companyName='xuexi'
	url.format(companyName)
5.拼接
	url.format(companyName)+' 人工智能'
	url.format(companyName)*3
6.查找与替换
	url=url.format(companyName)+' AI交流平台 '
	url.find('http')
	print(url.replace('AI','人工智能'))
	注意,repalce并不改变字符串原来的内容。
	print(url)
7.统计
	url.count('t')
8.获取索引
	url.index('智')
9.大小写
	url.title()#首字母大写
	url.upper()#全部字母大写
	url.lower()#全部字母小写
10.去空格
	url.lstrip()
	url.rstrip()
	url.strip()
11.编码与解码
	encode
12.其他操作dir()

练习题

一、求从1到100的数字中所有能被3整除的数字的有哪些

for i in range(1,101):
	if(i%3==0 and i%5==0):
		print(i)

运行结果:
15
30
45
60
75
90

二、输入一个字符串返回满足以下条件的字符串
要求:

  1. 如果字符串长度大等于3,添加 ‘ing’ 到字符串的末尾
  2. 如果字符串是以 ‘ing’ 结尾的,就在末尾添加 ‘ly’
  3. 如果字符串长度小于3,返回原字符串
s=input()
if len(s)>=3:
    if s.endswith('ing'):
        s+='ly'
    else:
        s+='ing'
else:
    pass
print(s)

运行结果:
interest
interesting

三、判断是否为回文
输入一个数字,如果是回文数字,返回True,否则 返回False
回文:62426是回文数字

x=input()
if x==x[::-1]:
    print('True')
else:
    print('False')

运行结果:
62426
True

四、输入一个字符串,返回满足以下条件字符串
要求:
1.找到字符串中的子串 ‘not’ 和 'bad’
2.如果 ‘bad’ 出现在 ‘not’ 后面,就把 ‘not’ … ‘bad’ 之间包含的所有字符串替换成 ‘good’

a='Study is not only to learn, actually i think this is a bad way. '
if a.find('bad')>a.find('not'):
    b=a[0:a.find('not')]+' good '+ a[a.find('bad'):]
print(b)

运行结果:
Study is good bad way.

五、输入一个字符串,把字符串拆分成两个等分
要求:
1.如果字符串长度是偶数,前一半和后一半的长度是相同的
2.如果字符串长度是奇数,则多出的一个字符加到前一半,如:‘abcde’,前一半是’abc’,后一半是’de’

s=input()
splitpoint=len(s)//2
if len(s)%2==0:
	s1=s[0:splitpoint]
	s2=s[splitpoint:]
else:
	s1=s[0:splitpoint+1]
	s2=s[splitpoint+1:]
print(s1,'---',s2)

运行结果:
abcde
abc — de

六、输入一个字符串返回满足以下条件的字符串
要求:
1.找出与字符串的第一个字母相同的字母,把它们替换成 ‘*’,除了第一个字母本身以外
2.例如: 输入’babble’, 返回 'ba**le’

s=input()
firstletter=s[0]
s=s.replace(firstletter,'*')
s=firstletter+s[1:]
print(s)

运行结果:
babble
ba**le

七、输入一个字符串,返回满足以下条件的字符串
要求:
1.由字符串的最前面两个字母和最后两个字母组成的字符串。
2.例如: ‘spring’ 返回 ‘spng’, ‘is’ 返回 'is’
3.当输入的字符串长度小于2时,返回空字符串

s=input()
if len(s)>2:
    s1=s[0:2]+s[-2:]
else:
    s1=''
print(s1)

运行结果:
spring
spng

八、输入字符串 a 和 b,返回添加以下条件的字符串
要去:
1.交换两个字符串的最前面的两个字母
2.使用空格把两个字符串分隔后合并成一个字符串
3.字符串 a 和 b 的长度都大等于2

a=input()
b=input()
if len(a)>2 and len(b)>2:
    a,b=b[0:2]+a[2:],a[0:2]+b[2:]
    print(a+' '+b)
else:
    print('the input string is too short')

运行结果:
abcdefg
hijklmn
hicdefg abjklmn

a
b
the input string is too short

九、落球计算
一球从100米高度自由落下,假设每次落地后反跳回原高度的一半;再落下,再弹起。请问第6次落地后会弹起多少米?
要求:请分别使用for循环与while循环。并使用break与contiune流程控制关键字

height=100
i=1
while True:
	height*=0.5
	i+=1
	if i>6:break
print('while loop:',height)

height=100
i=1
for i in range(1,7):
	height*=0.5
	if i<6:
		continue
	else:
		print('for loop:',height)	

运行结果:
while loop: 1.5625
for loop: 1.5625

十、求两个数字之间的素数
素数:只能被1及自己整除的数,如3,7,13,23等

a=int(input())
b=int(input())
for i in range(a,b+1):
    for j in range(2,i+1):
        if i%j==0 and j<i:
            print(i,'非素数')
            break
        elif j==i:
            print(i,'素数')

运行结果:
6
33
6 非素数
7 素数
8 非素数
9 非素数
10 非素数
11 素数
12 非素数
13 素数
14 非素数
15 非素数
16 非素数
17 素数
18 非素数
19 素数
20 非素数
21 非素数
22 非素数
23 素数
24 非素数
25 非素数
26 非素数
27 非素数
28 非素数
29 素数
30 非素数
31 素数
32 非素数
33 非素数



这篇关于Python学习(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程