一 回文数判断。设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(按行输出)文章来源:https://www.toymoban.com/news/detail-478847.html
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文章来源地址https://www.toymoban.com/news/detail-478847.html
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')
到了这里,关于Python期末复习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!