Python期末复习题

回文数判断。设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个数字,请编写程序判断这个数字是不是回文数,若是返回True,否则返回False。
【输入示例】12321
【输出示例】True

def digital():
    a=list(input())
    b=a[::-1]
    if a==b:
        return True
    else:
        return False
print(digital())

素数判断。编写一个函数isPrime(x),接受一个正整数作为参数,并判断该数是否为素数(只能被1和自身整除),若是返回True,否则返回False。
【输入示例】3
【输出示例】True

def isPrime(x):
    for i in range(2,x):
        if x%i == 0:
            return False
    return True
a=eval(input())
print(isPrime(a))

统计字母出现次数。编写一个函数,接受一个字符串作为参数,并统计每个字母出现的次数,然后返回一个字典,字典的键为字母,值为出现的次数。
【输入示例】‘abb’
【输出示例】{‘a’: 1, ‘b’: 2}

def count(x):
    c={
    
    }
    for i in x:
        if i in c:
            c[i]+=1
        else:
            c[i]=1
    return c
print(count('abb'))

判断列表是否有重复元素。编写一个函数,接受一个列表作为参数,并判断该列表中是否有重复的元素,若有返回True,否则返回False。
【输入示例】[1,2,3,4,5,3]
【输出示例】True
第一种(原列表长度和集合型该列表长度相比)

def list_count(x):
    if len(x) !=len(set(x)):
        return True
    else:
        return False
list1=[1,2,3,4,5,3]
print(list_count(list1))

第二种

def list_count(x):
    for i in range(len(x)):
        for j in range(len(x)):
            if j < i and x[i] == x[j]:
                return True
    return False
list1 = [1,2,3,4,5,3]
print(list_count(list1))

计算列表中的平均值。给定一个包含数字的列表,请编写程序来计算列表中所有数字的平均值。
【输入示例】[1,2,3,4,5]
【输出示例】3

def list_avg(x):
    c=0
    for i in x:
        c+=i
    avg=c/len(x)
    return int(avg)
list1=[1,2,3,4,5]
print(list_avg(list1))

反转整数。编写一个函数,接受一个整数作为参数,并返回该整数的反转形式。
【输入示例】123
【输出示例】321

def list_int(x):
    list1=list(x)
    list2=list1[::-1]
    str1="".join(map(str, list2))
    return str1

b=input()
print(list_int(b))

更简单的方法:

def id(x):
    b=x[::-1]
    return b
a=input()
print(id(a))

统计字符串中的元音字母个数。从键盘输入一串字符串,统计该字符串中元音字母(a、e、i、o、u)的个数。
【输入示例】‘abe’
【输出示例】2

def a_count(x):
    b=list(x)
    count=0
    for i in b:
        if 'a' == i:
            count += 1
        if 'e' == i:
            count += 1
        if 'i' == i:
            count += 1
        if 'o' == i:
            count += 1
        if 'u' == i:
            count += 1
    print(count)
a_count(input())

统计水仙花数。“水仙花数”是指一个三位数中各个数位上数字的立方和等于该数本身。例如153是一个水仙花数,因为153=各个位数的三次方和。编写程序,计算200到500之间的水仙花数共有多少个。

def flower():
    count=0
    for x in range(200,501):
        b = x // 100  # 百位
        a = x % 100 // 10  # 十位
        c = x % 10  # 个位
        if(b**3+a**3+c**3==x):
            count+=1
    return count
print(flower())

字符串分隔打印。获得用户输入的一个字符串(包含空格),将该字符串按照空格分割,并逐行打印。
【输入示例】‘Python XYU 666’
【输出示例】Python
XYU
666

str1=input()
str2=""
for i in range(len(str1)):
    if str1[i] != ' ':
        str2+=str1[i]
    else:
        str2+='\n'
print(str2)

⼀球从100⽶⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半,再落下。
求它在第10次落地时,共经过多少⽶?第10次反弹多⾼?
【输出示例】⼀共经过299.71⽶,第10次反弹的⾼度是0.10。
(提示:注意字符串的格式化输出)

hight=100.0
sum=0.0
for i in range(1,11):
    sum += hight
    hight=hight/2
    if i==10:
        ten=hight
print("一共经过{:.2f}米,第10次反弹的高度是{:.2f}".format(sum+100,ten))

十一 给定两个正整数a, b (1<=a <= b<=10^5), 请你数出在a到b之间,十个阿拉伯数字分别出现了多少次。比如,当a=11, b=20时,a和b之间的数有[11,12,13,14,15,16,17,18,19,20],那么0-9这10个数出现的次数分别是1,10,2,1,1,1,1,1,1,1。
现在给你a和b,请你输出十个阿拉伯数字分别出现的次数;
分十行输出,第一行表示0出现的次数,第二行表示1出现的次数,…,最后一行表示9出现的次数。
【输入示例】a =11,b =20
【输出示例】1, 10, 2, 1, 1, 1, 1, 1, 1, 1(按行输出)

a=eval(input())
b=eval(input())
list1=[]
count0,count1,count2,count3,count4,count5,count6,count7,count8,count9=0,0,0,0,0,0,0,0,0,0
for i in range(a,b+1):
    list1.append(i)
str1="".join(map(str,list1))
for j in str1:
    if '0' ==j:
        count0+=1
    if '1' ==j:
        count1+=1
    if '2' ==j:
        count2+=1
    if '3' == j:
        count3 += 1
    if '4' == j:
        count4 += 1
    if '5' == j:
        count5 += 1
    if '6' == j:
        count6 += 1
    if '7' == j:
        count7 += 1
    if '8' == j:
        count8 += 1
    if '9' == j:
        count9 += 1
print(count0,count1,count2,count3,count4,count5,count6,count7,count8,count9)

十二 给你两个整数a和b(-10000<a,b<10000),请你判断是否存在两个整数,他们的和为a,乘积为b。 若存在,输出Yes,否则输出No。
【输入示例】a=9,b=15
【输出示例】No

a=eval(input('a='))
b=eval(input('b='))
for i in range(10000):
    for j in range(10000):
        if i+j==a and i*j==b:
            d=1
            break
        else:
            d=0
            break
if d==1:
    print('Yes')
else:
    print('No')

猜你喜欢

转载自blog.csdn.net/weixin_72138633/article/details/131144521