python题目2

找字符

在字符串 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:
列表 不能作为 字典的键,直接报错
集合 不能作为 字典的键,直接报错
数字、元组、字符串、不可变的数据类型 可以作为 字典的键;但可变的数据类型不可以,直接报错。
键不能重复,如果重复,后者覆盖前者的值
'''

关于集合

集合不能嵌套可变的数据类型,即集合里的元素不能是: 列表 集合 字典,直接报错。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值