编程从键盘输入三个整数其中最大得数_python编程题(面试会遇到的哟!)

1、

f9cc64a321e26e2d3e5240e65422a5f7.png

【参考代码】

x=eval(input("请输入所花钱x:"))

if x>=3000:

y=0.7*x

elif x>=2000:

y=0.8*x

elif x>=1000:

y=0.9*x

else:

y=x

print("实际应付金额{:.2f}元".format(y))

2、 编写计算分段函数的程序:

7d06b440f785832e43c616eef57ea093.png

输入x的值,输出函数y的值

【参考代码】

import math

x=eval(input("请输入x的值:"))

if x>=5:

y=math.sin(x)+math.sqrt(x**2+1)

elif x>=0:

y=math.exp(x)+math.log(x,5)+x**(1/5)

else:

y=math.cos(x)-x**3+3*x

print("分段函数y的值是:",y)

3、编写程序,实现分段函数计算,如下表所示。当x=7,输出y的值

48084806013974e0fbbed8b840b4bfc4.png

【参考代码】

x = input('Please input x:')

x = eval(x)

if x<0 or x>=20:

print(0)

elif 0<=x<5:

print(x)

elif 5<=x<10:

print(3*x-5)

elif 10<=x<20:

print(0.5*x-2)

4、从键盘上任意输入一个自然数,判断数是否素数。如输入11,则显示:11是素数

【参考代码】

n=eval(input("请输入一个自然数:"))

tag=True

for i in range(2,n):

if n%i==0:

tag=False

break

m="是素数" if tag else "不是素数"

print(n,m)

5、编程求解一元二次方程

d374793864fb0be86ea13888df16048c.png

,方程中的

0bfeb32b75174544a5f233ef563f31ed.png

系数从键盘输入(提示:分支嵌套)

注解:

大部分情况下是根据求根公式来求解,即:

4b66ea34eb8f62d0bc28d2024737b114.png

判别式:

利用一元二次方程根的判别式(

348f86150ea924e7835fd4d4cac29ca1.png

)可以判断方程的根的情况。

一元二次方程

951efb1082676aa7d92e4a32402708de.png

的根与根的判别式 有如下关系:

348f86150ea924e7835fd4d4cac29ca1.png

①当

858d8f8837c729d4c2908e6ef2d0fb0a.png

时,方程有两个不相等的实数根;

②当

3c50618a5b4d5834901879a5b70db101.png

时,方程有两个相等的实数根;

③当

65ea2101af34a75406695ca76a70bc93.png

时,方程无实数根,但有2个共轭复根。

【参考代码】

import math

a=eval(input("A="))

b=eval(input("B="))

c=eval(input("C="))

delta=b**2-4*a*c

if a==0:

if b==0:

print("方程无意义!!")

else:

x=-c/b

print("方程有单根:",x)

else:

if delta>0:

q=math.sqrt(delta)/(2*a)

p=-b/(2*a)

x1=p+q

x2=p-q

print("两个不相等的实根",x1,x2)

elif delta==0:

p=-b/(2*a)

print("两个相等的实根:",p)

else:

print("方程无解!")

6、编程产生菲波拉契数列20项,

例如:0 1 1 2 3 5 8 13 21 ……

【参考代码】

x0,x1=0,1

for n in range(0,20):

print(x0,end=" ")

x0,x1=x1,x0+x1

7、猴子摘桃

猴子第一天摘了若干个桃子,当天吃了一半,还不过隐,有多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,见只剩下一个桃子,问第一天共摘了多少个桃子

【参考代码】

x=1

for d in range(0,9):

x=(x+1)*2

print(x)

编程分别计算100以内(含100)奇数与偶数的和。

【参考代码】

s1,s2=0,0

for i in range(1,101):

if i%2==0:

s2=s2+i

else:

s1=s1+i

print("奇数的和是:{},偶数的和是:{}".format(s1,s2))

9、编程计算前30项的和:s=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+n)

【参考代码】

t,sum=0,0

for i in range(1,31):

t = t + i

sum = sum + t

print("多项式前30项的和是:",sum)

10、一个富翁试图与陌生人做一笔换钱生意,换钱规则为:陌生人每天给富翁10万元钱,直到满一个月(30天);而富翁第一天给陌生人1分钱,第2天给2分钱,第3天给4分钱,…,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?

【参考代码】

x0=0.01

s =0

for i in range(1,31):

s=s+100000

x1=2 * x0

x0=x1

print("富翁赚的钱{:.2f},陌生人赚的钱{:.2f}".format(s,x0))

11、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。

如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。

【参考代码】

x = input('Please input an integer of 4 digits meaning the year:')

x = eval(x)

if x%400==0 or (x%4==0 and not x%100==0):

print('Yes')

else:

print('No')

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

【参考代码】

s=100

h0=100

for i in range(1,10):

h1=h0/2

s=s+2*h1

h0=h1

print("小球一共经过了{:.2f}米,第10次的高度{:.2f}米".format(s,h0))

13、求阶乘 :从键盘输入任意一个正整数,编程计算该数的阶乘 如:输入5,阶乘结果120 。

【参考代码】

n=eval(input("请输入一个正整数:"))

p=1

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

p=p*i

print("n!=",p)

14、

cb7b3a7494ffad9e01610bf5cfe1fd7d.png

【参考代码】

for i in range(1,10):

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

print("{}*{}={:2d}" .format (i,j,i*j),end=" ")

print()

15、

7c7024644083729f484a760dfd7fc165.png

【参考代码】

for a in range(0,21):

for b in range(0,34):

for c in range(0,101):

if a+b+c==100 and a*5+b*3+c/3==100:

print(a,b,c)

16、

0e615da8e7828d5096f7dd1dd0decbf1.png

ac4231e7229814a764b4af1bca34fd7c.png

17、turle库绘制红色线条的六边形,线条大小5像素,每边长度80。

7e109cb8e40f53a5372d9678b4b56bdb.png

【参考代码】

import turtle

turtle.pensize(5)

turtle.pencolor("red")

for i in range(6):

turtle.fd(80)

turtle.left(60)

18、

47bc66a670d81eb9fdbbf8c980727d01.png

1eb0a9579949242997badee58ba03111.png

19、编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。假设向程序提供以下输入:

without,hello,bag,world

则输出为:

bag,hello,without,world

'''

x=input("x=")

l=x.split(",")

l.sort()

print(",".join(l))

20、编写一个程序来计算输入中单词的频率。 按字母顺序对键进行排序后输出。

假设为程序提供了以下输入:

New to Python or choosing between Python 2 and Python 3 Read Python 2 or Python 3

然后,输出应该是:

2:2

3:2

New:1

Python:5

Read:1

and:1

between:1

choosing:1

or:2

to:1

'''

x=input("x=")

l=x.split()

d={}

for i in l:

d[i]=d.get(i,0)+1

l2=sorted(d)

for i in l2:

print("{}:{}".format(i,d[i]))

21、依次输入三个整数放在一个列表中,请把这三个数由小到大输出。

l=[]

for i in range(3):

x=int(input("x="))

l.append(x)

l.sort()

for i in l:

print(i,end=" ")

22、使用列表生成式方法求解百钱买百鸡问题。

假设大鸡5元一只,中鸡3元一只,小鸡1元三只,

现有100元钱想买100只鸡,有多少种买法?

l=[(i,j,k) for i in range(0,100) for j in range(0,100) for k in range(0,100) if i+j+k==100 and 5*i+3*j+k/3==100]

for i in l:

print(i)

23、使用给定的整数n,编写一个程序生成一个包含(i, i*i)的字典,该字典包含1到n之间的整数(两者都包含)。然后程序应该打印字典。

假设向程序提供以下输入:8

则输出为:

{1:1,2:4,3:9,4:16,5:25,6:36,,7:49,8:64}

'''

n=eval(input("n="))

d={}

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

d[i]=i*i

print(d)

24、使用列表生成式随机产生10个两位的正整数,存入列表ls中,输出ls中的这10个随机数,

然后对这10个随机数求平均值,并输出统计高于平均值的数有多少个。

'''

from random import *

ls=[randint(10,99) for i in range(10)]

print(ls)

aver=sum(ls)/len(ls)

n=0

for i in ls:

if i>aver:

n=n+1

print(n)

25、编写一个程序,输出2000到3200(含2000和3200)之间所有是7的倍数,但不是5的倍数的整数。要求:用列表保存符合条件的整数,输出结果各整数之间用逗号分隔,并输出在一行上。

l=[]

for i in range(2000,3201):

if i%7==0 and i%5!=0:

l.append(str(i))

print(",".join(l))

26、编写一个程序,接收一系列单个空格分隔的单词作为输入,在删除所有重复的单词并按字母升序排序后打印这些单词。

假设向程序提供以下输入:

hello world and practice makes perfect and hello world again

则输出为:

again and hello makes perfect practice world

'''

x=input("x=")

l=x.split()

s=set(l)

l2=list(s)

l2.sort()

for i in l2:

print(i,end=" ")

27、编写一个接收句子并计算字母和数字的程序。假设为程序提供了以下输入:

Hello world! 123

然后,输出应该是:

字母10

数字3

'''

d={'字母':0,'数字':0}

x=input("x=")

for i in x:

if i.isdigit():

d['数字']=d['数字']+1

elif i.isalpha():

d['字母']=d['字母']+1

for k,v in d.items():

print("{} {}".format(k,v))

28、使用列表生成式来求列表中的每个奇数。 该列表由一系列逗号分隔的数字输入。

假设为程序提供了以下输入:

[1,2,3,4,5,6,7,8,9]

然后,输出应该是:

[1,3,5,7,9]【参考代码】:

l=eval(input("l="))

l2=[ i for i in l if i%2==1]

print(l2)

29、编写函数,模拟Python内置函数sorted()。

【参考代码】

def Sorted(v):

t = v[::]

r = []

while t:

tt = min(t)

r.append(tt)

t.remove(tt)

return r

30、编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

【参考代码】

def IsPrime(n):

for i in range(2,n):

if n%i==0:

return 'No'

else:

return 'Yes'

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值