找字符
在字符串 a="1工d人fd21f5有d在" 中找出 "国" 字并输出,没找到输出没找到?
a = "1工d人fd21f5有d在"
findStr = "国"
#while实现
i=0
while i<len(a):
if a[i]==findStr:
print(a[i])
break
i+=1
else:
print("没找到!")
#------------------------
#for实现
for i in a:
if i==findStr:
print(i)
break
else:
print("没找到!")
求某范围的数
求1-20(包含20)之间的所有偶数和 所有奇数和 所有自然数和?
oddN=0
evenN=0
sums=0
i=1
while i<=10:
if i%2==0:
evenN+=i
else:
oddN+=i
sums+=i
i+=1
print("所有奇数和:",oddN)
print("所有偶数和:",evenN)
print("所有自然数和:",sums)
#print("所有自然数和:",oddN+evenN)
简述解释型和编译型编程语言
答:解释型语言是在运行程序的时候才翻译,每执行一次,要翻译一次,效率较低。
编译型是直接编译成机型可以执行的,只翻译一次,所以效率相对来说较高。
python属于解释型语言
java属于编译型语言
在给 py 文件命名的时候需要注意什么?
答:给文件命名的时候不要和标准库库的一些模块重复,比如 abc。
另外要名字要有意义,不建议数字开头或者中文命名。
两数的最大公约数和最小公倍数:
输出a,b两个数,求a b 的最大公约数和最小公倍数?
a=5
b=3
i=min(a,b)
while i>=1:
if a%i==0 and b%i==0:
print("最大公约数:",i,"最小公倍数:",a*b//i)
break
i=i-1
list.sort 和 sorted 的区别?
相同点: list.sort 和 sorted 都可以对列表元素排序。
不同点:list.sort() 与 sorted() 的不同在于,list.sort 是在原位重新排列列表,而 sorted() 是产生一个新的列表。
list.sort() 是列表上的方法,对原列表进行排序,只能对列表排序。
sorted() 排序好后返回一个新的列表,而且可以对所有可迭代的对象进行排序操作(列表、集合、字典、元组、字符串)。
分解质因数:
将一个整数分解质因数。例如:输入90,打印出90=233*5。
#方法1:
num=int(input('输入一个整数:'))
print("%s="%num,end="")
if num < 0: # 负数处理
num = abs(num)
print('-1*', end='')
flag = 0
if num <= 1: #只处理0 1,负数前面处理了
print(num)
flag = 1
while True:
if flag:
break
for i in range(2, num+1):
if num % i == 0:
print("%d" % i, end='')
if num == i:
flag = 1
break
print('*', end='')
num //= i
break
#方法2:
num=int(input("输入一个数:"))
t=num
i=2
print("%s="%num,end="")
while t>1:
if t%i==0:
print(i,end="")
t=t//i
if t!=1:
print("*",end="")
else:
i+=1
python 之禅:
import this 它告诉大家如何写出高效整洁的代码。
编写一个程序,输入一串字符a和一串数字b,相邻字符或数字使用英文逗号","隔开,字符串a中的字符作为字典的键(键为字符串),
数字串b中的数字作为字典的值(值为数字),输出字典中所有值的和?
输入样例:
a,b,c,d,e #a
1,2,3,4,5 #b
输出结果:
15
#思路:要将 a 和 b 想办法变成这样:{"a":1,"b":2,"c":3,"d":4,"e":5} ,
#然后遍历将字典里面的数字相加,得到 和。
#方法1:
a=input("一串字符,逗号分隔:")
b=input("一串数字,逗号分隔:")
a=a.split(",")
b=b.split(",")
aLen=len(a)
bLen=len(b)
minVal= aLen if aLen<bLen else bLen
i=0
d={}
while i<minVal:
d.setdefault(a[i],int(b[i]))
i+=1
count=0
for i in d:
count+=d[i]
print("总和是:",count)
#方法2:
a=input("一串字符,逗号分隔:")
b=input("一串数字,逗号分隔:")
a=a.split(",")
b=b.split(",")
b=[int(i) for i in b]
d=dict(zip(a,b))
count=0
for i in d:
count+=d[i]
print("总和是:",count)
is 和 == 的区别:
is 判断两个变量引用对象是否为同一个。类似 id(x) == id(y)
== 判断引用变量的值是否相等。
python中 整数 除以 整数 得到的类型是: float 类型
print(type(8/2)) #<class 'float'>
关于字典的key
dic={'key':value} #key可以是字符串、数字、元组或者变量,或者其它不可变对象。
'''
key:
列表 不能作为 字典的键,直接报错
集合 不能作为 字典的键,直接报错
数字、元组、字符串、不可变的数据类型 可以作为 字典的键;但可变的数据类型不可以,直接报错。
键不能重复,如果重复,后者覆盖前者的值
'''
关于集合
集合不能嵌套可变的数据类型,即集合里的元素不能是: 列表 集合 字典,直接报错。