Python支持命令式编程、函数式编程,完全支持面向对象程序设计,语法简洁清晰,并且拥有大量的几乎支持所有领域应用开发的成熟扩展库。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容。用Python开发,许多功能不必从零编写,直接使用现成的即可。除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。 Python同时也支持伪编译将Python源程序转换为字节码来优化程序和提高运行速度,可以在没有安装Python解释器和相关依赖包的平台上运行。 任何编程语言都有缺点,Python缺点主要有: (1)运行速度慢。 (2)代码不能加密。 (3)用缩进来区分语句关系的方式还是给很多初学者带来了困惑。最常见的情况是tab和空格的混用会导致错误。
用Python进行程序设计,输入是通过input( )函数来实现的,
input( )的一般格式为:x=input(‘提示:’)
该函数返回输入的对象。可输入数字、字符串和其它任意类型对象。
Python 3.7中使用print()函数进行输出。
在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开的“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG ON]”并后跟一个“>>>”提示符。这样,我们就能像平时那样使用这个“Python Shell”窗口了,只不过现在输入的任何命令都是允许在调试器下。
我们可以在“Debug Control”窗口查看局部变量和全局变量等有关内容。
一个好的、可读性强的程序一般包含20%以上的注释
方法一:以#开始,表示本行#之后的内容为注释。
#循环输出0到9数字
for i in range(10):
print (i, end=’ ‘)
方法二:包含在一对三引号’‘’…‘’'或"“”…“”"之间且不属于任何语句的内容将被解释器认为是注释。
Python 数值类型用于存储数值。整型(int) :通常被称为是整型或整数,是正或负整数,不带小数点。长整型(long) :无限大小的整数,整数最后是一个大写或小写的L。在Python3里,只有一种整数类型 int,没有Python2 中的 Long。浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.78e2就是2.78 x 102 = 278)复数(complex):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的虚部以字母j或J结尾。如:2+3j。
import math a,b,c=1,3,1
expression=(-b+math.sqrt(bb-4ac))/2a
print(expression)
(2)
x,y,a=1,2,3
expression2 = (xx+yy)/(2aa)
print(expression2)
(3)
x,y,z=1,2,3
expression3=(x+y+z)/math.sqrt(x3+y3+z**3)
print(expression3)
(4)
a,c,d=1,2,3
expression4=(3+a)**2/(2c+4d)
print(expression4)
(5)
x,y=1,2
expression5=2*math.sin((x+y)/2)*math.cos((x-y)/2)
print(expression5)
(x>3)and(x<10)
(1)3 * 4 ** 5 / 2:1536_ (2)a * 3 % 2:1_ (3)a%3 +bb-
c//5:5_ (4)b**2-4a*c:_-108__
(1)元素个数:print(len(s))
(2)最大数:print(max(s))
(3)最小数:print(min(s))
(4)添加元素:s.append(10)
(5)删除指定元素:s.remove(55)
元祖不能添加元素,列表可以添加元素。元组元素不能修改,但元组可以连接另一个元组,组成一个新元组。
(1)列表尾部插入元素52: lst.append(52)
(2)在元素28前面插入66:lst.insert(3,66)
(3)删除并输出28:print(lst.pop(3))
(4)将列表按降序排序:lst.sort(reverse=True)
(5)清空整个列表:lst.clear()
(1)只会python不会C的人:(Python-C)
(2)3种语言都会的人:(python&Java&C)
(3)差并交:-,|,&
a=int(input(“请输入整数:”))
if a%5 == 0 and a%7 == 0:
print(a,“能被5,7同时整除”)
else:print(a,“不能被5,7同时整除”)
a=int(input(“请输入整数:”))
if a>=90:
print(‘A’)
elif a>79 and a<90:
print(‘B’)
elif a > 69 and a < 80:
print(‘C’)
elif a > 59 and a < 70:
print(‘D’)
else:print(‘E’)
a=input(“”)
a=int(a)
if a>=5000:
print(“优惠价为:”,a0.8)
elif a>=3000:
print(“优惠价为:”,a0.85)
elif a>=2000:
print(“优惠价为:”,a0.9)
elif a>=1000:
print(“优惠价为:”,a0.95)
else:
print(“没有优惠哦! 价格为:”,a)
n=int(input(“请输入整数n:”))
s,i=1,1
while i<=n:
s=s*i
i=i+1
print(s)
lst=[]
for i in range(20):
if i%2 !=0:
lst.append(i)
sum1=sum(lst)
sumAve=sum1/10
print(lst,sum1,sumAve)
i,s,ss = 1,1,0
for n in range(10):
if n%2!=0:
while i<=n:
s=s*i
i=i+1
ss=ss+s
print(ss)
编写程序,计算下列公式中s的值(n是运行程序时输入的一个正整数)。
s =1 + (1 + 2) + (1 + 2 + 3) + … + (1 + 2 + 3 + … + n)
s,m,ss=0,1,0
n=int(input(“请输入一个正整数:”))
while m<=n:
s=s+m
m=m+1
ss=s+ss
print(ss)
有100匹马驮100块瓦,大马驮3块,小马驮2块,两个马驹驮1块。问大马、小马、马驹各有多少匹?
思路:用嵌套循环来做,要注意前后两个条件的关系,以及两个马驹托一个瓦的条件。
for i in range(34):
for j in range(51):
k=100-i-j
if 3i+2j+k/2100 and k%20 :
print(“大马有:”,i,“小马有:”,j,“马驹有:”,k)
有一个数列,其前三项分别为1、2、3,从第四项开始,每项均为其相邻的前三项之和的1/2,问:该数列从第几项开始,其数值超过1200。
lst=[1,2,3]
for i in range(100):#建立一个i到100的for循环
if i>2: #到第三项时候 推出第四项
x=(lst[i-1]+lst[i-2]+lst[i-3])/2
lst.append(x)#将第四项添加到列表末尾
if x>1200:#内部判断那一项大于1200的时候跳出循环
print(i)
break
“同构数”是这样一种数,它出现在它的平方数的右端。例如,5的平方是25,5是25中右端的数,5就是同构数,25也是一个同构数,它的平方是625。
**解:**只要是和100取余,则会剩下个位和十位
for i in range(1,101):
x=i*i
if i<10:
if x%10i:
print(i)
elif i<100:
if x%100i:
print(i)
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半再加一个。到第10天早上想再吃时,发现只剩下一个桃子了。求第一天共摘了多少个桃子。
采用逆向思维:从后往前推。
x2 = 1
for i in range(9,0,-1):
x1=(x2+1)*2
x2=x1
print(x1)
已知第10天剩下1个桃子,则可推导出,第9天剩下4个,第8天剩下10个。
由第10天可知,第9天的桃子数量为:
x/2 - 1 = 1
x=4
str=input("请输入一个字符串……")
lst=[0]*len(str)
i = 0
for x in str:
lst[i]=ord(x)
i=i+1
print(lst)
import random
i=0
secret = random.randint(1, 101)
while 1:
guess=int(input("请输入100以内的数字:"))
if guess>secret:
print("猜大了……")
i=i+1;
elif guess<secret:
print("猜小了……")
i=i+1;
elif guess==secret:
print("猜对了……")
i=i+1;
print("你共猜了",i,"次")
break
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
if (a*100+b*10+c+c*100+b*10+a)==1333:
print(a,b,c)
编写一个函数,将华氏温度转换为摄氏温度。公式为C=(F-32)×5/9。
def revert(f):
c=(f-32)*5/9
return c
print(revert(99))
def sushu(a,b):
for i in range(a,b):
n=True
for j in range(2,i):
if i%j==0:
n=False
break
if n==True:
print(i)
sushu(1,1000)
1²+2²+3²+…+n < 1000
def mysum():
sum=0
n=0
while sum<1000:
n=n+1
sum=sum+n*n
return n-1
print(mysum())
def multi(*num):
sum=1
for i in num:
sum=sum*i
return sum
print(multi(2,3,4))
def gcd(m,n):
if m<n:
m,n=n,m
while n!=0:
temp=m%n
m=n
n=temp
return m
print(gcd(10,3))
# ## 编写一个判断完数的函数。完数是指一个数恰好等于它的因子之和,如 6=1+2+3,6就是完数。
def jugge(n):
sum=0
for i in range(1,n): #关键在求因数
if n%i == 0:
sum+=i
if sum==n:
print(n,"是完数")
else:
print(n,"不是完数")
jugge(100)
# 先搞懂十进制转化为二进制的原理
def binary(n):
list=[]
while n//2 !=0:
list.append(n%2)
n=n//2
if n//2==0:
list.append(n%2)
break
for t in list:
print(t,end='')
print()
binary(10)
回文就是一个字符串从左到右读和从右到左读是完全一样的。例如,“level”、“aaabbaaa”、“ABA”、"1234321"都是回文。
# 回文数
def palindrome(s):
flag=1
x=0
y=len(s)-1
while x<y:
if(s[x]!=s[y]):
flag=0
break
x+=1
y-=1
return flag
s=input("输入字符串\n")
if(palindrome(s)):
print("这是回文字符串\n")
else:
print("这不是回文字符串\n")
s="On a Slow Boat to China"
print(len(s.split()))
print(s.split(' '))
推荐阅读Python中的split详解
map() 函数是一个内置函数,用于将一个列表中的元素映射到另一个列表中。该函数接受一个函数作为参数,该函数接受列表中的元素作为输入,并返回一个列表。
#例如,可以使用 map() 函数来将列表中的元素转换为字符串,并返回一个新的字符串列表:
my_list = [1, 2, 3, 4, 5]
new_list = map(str, my_list)
print(new_list)
def normalize(name):
return name.capitalize()
L1=['adam','LISA','barT']
L2=list(map(normalize,L1))
print(L2)
#capitalize()函数是Python内置的一个函数,将首字母大写。
filter() 函数是一个内置函数,用于从列表中筛选出满足特定条件的元素。该函数接受一个函数作为参数,该函数接受列表中的元素作为输入,并返回一个布尔值。
例如,可以使用 filter() 函数来筛选出列表中所有奇数的列表:
Copy code
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_list = filter(lambda x: x % 2 == 0, my_list)
odd_list = filter(lambda x: x % 2 != 0, my_list)
print(even_list)
print(odd_list)
这将输出 [1, 3, 5, 7, 9] 和 [2, 4, 6, 8, 10],因为这些元素是奇数。
## 答案在这里~
def is_palindrome(n):
nn=str(n) #转成字符串
return nn==nn[::-1] #反转字符串并返回
print(list(filter(is_palindrome,range(1,1000))))
L =[(‘Bob’,75),(‘Adam’,92),(‘Bart’,66),('Lisa’88)]
请用 sorted()对上述列表元素分别按名字排序。
L =[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]
sorted_list=sorted(L,key=lambda x: x[0])
print(sorted_list)
在这个例子中,key 参数指定了一个 lambda 函数,
该函数接受列表中的元素作为输入,
并返回第一个元素的元组。
由于这个 lambda 函数的返回值用于排序,
因此列表按照第一个元素进行了升序排列。
def is_null(n):
return n.strip()
L=filter(is_null,['a','b','','1232','g'])
print(L)
#strip()去除空字符元素
#要注意return返回值
#前提:在当前Python同路径下新建一个txt文件,当然指定路径获取其它文件也可以,自己百度一下
f1=open('1.txt',encoding='utf-8') #编码要指定一下,不然可能译码错误
data=f1.read()
a=data.count('不')
print(data)
print(a)
在这里插入代码片