python 习题集锦

1. 输入一个正整数n,对其进行因式分解并输出。例如:输入18,输出18=2*3*3

l=[]

def yin(x):

if x==1:

return l

for i in range(2,x+1):

if x%i ==0:

l.append(i)

h=x//i

break

return yin(h)

yin(8)

print(l)

2.输入一行字符, 分别统计出其中英文字母、空格、数字和其它字符的个数。

x=input()

l=[]

for i in x:

if i not in l:

l.append(i)

for j in l:

print(j,x.count(j))

3.输入a和n,求s=a+aa+aaa+…na…,a表示数值,n表示数量,如a=3,n=5,则求出3+33+333+3333+

a,n=input(),int(input())

s=0

for i in range(1,n+1):

s+=int(a*i)

print(s)

4.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求他在第10次落地时,共经过多少米?第10次反弹多高?

s=[]

x=int(input())

a=100

for i in range(1,x+1):

a*=1/2

s.append(a)

print(a,sum(s))

5.一只青蛙一次可以跳上1级台阶,也可以跳上2级,求该青蛙跳上一个n级台阶总共有多少种跳法?

x=int(input())

l=[1,2]

for i in range(x-2):

l.append(l[i]+l[i+1])

print(l[-1])

6.一只青蛙一次可以跳上1,2,3…n阶台阶,求该青蛙跳上一个n级的台阶有多少种方法?

x=int(input())

print(pow(2,x))

7.li = [1,2,3,4,5,6,7,8,8]能组成多少个互不相同且不重复的数字的两位数

li = [1,2,3,4,5,6,7,8,8]

l=[]

for i in li:

for j in li:

l.append(str(li[i])+str(li[j]))

print(len(list(set(l))))

8.实现用户输入用户名和密码,当用户名为 seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次,第三次还失败则提示用户已锁定

i=1

while i<=7:

x=input(‘请输入用户名’)

y=input(‘请输入密码’)

if x==’seven’ and y==’123’:

print(‘登录成功’)

else:

if i==7:

print(‘用户锁定’)

break

print(‘登录失败’)

i+=1

9.有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66 的值保存至第二个 key 的值中。

即: {‘k1’: 大于 66 的所有值,’k2’: 小于 66 的所有值}

l=[11,22,33,44,55,66,77,88,99,90]

l1=[]

l2=[]

for i in l:

if i>66:

l1.append(i)

elif i<66:

l2.append(i)

print(l1,l2)

10.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提

成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

猜你喜欢

转载自blog.csdn.net/weixin_32759777/article/details/81588042