当前位置:   article > 正文

Python1.2_python输入半径和高计算圆柱体体积的代码保留二位小数

python输入半径和高计算圆柱体体积的代码保留二位小数

选用适当的方法判断 0.9-0.3 0.6 是否相等

  1. 将变量 x 赋值为 23+34i,在同一行输出显示 x 的实部、虚部以及共轭复数。

1、编写程序,输入任意大的自然数,输出各位数字之和。

附加要求,是否能够用两行代码实现此功能。

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

b=0

for i in a:

    b=b+int(i)

print("该自然数各位之和:",b)

2、编写程序,圆柱体计算,结果保留两位小数。

利用Python计算,结果保留两位小数:底面半径为66,高为24.2的圆柱体的体积和表面积。结果保留2位小数。(提示:round())

import math

r=float(input("请输入圆柱的底面半径:"))

h=float(input("请输入圆柱的高:"))

s=round(math.pi*r*r*2+2*math.pi*r*h,2)

v=round(math.pi*r*r*h,2)

print("圆柱的表面积为:",s)

print("圆柱的体积为:",v)

3、编写程序,三门课成绩

小明参加语文,数学和英语考试,输入小明的3门成绩(提示:字符串的.split()方法)

(1)输出3门成绩的总和、平均分、最高分和最低分。

​s = input().split(',',2)

s = list(map(float, s))

total = sum(s)

ave = round(total / 3, 2)

maxs = max(s)

mins = min(s)

print("总成绩:", total)

print("平均成绩:", ave)

print("最高成绩:", maxs)

print("最低成绩:", mins)

(2)判断是否有成绩中是否有零分,并输出判断结果。

if 0 in s:

    print("成绩中存在零分。")

else:

    print("成绩中不存在零分。")

(3)如果三门课程以权重0.5,0.3和0.2计入总分,输出小明的最终总评成绩。

final = s[0] * 0.5 + s[1] * 0.3 + s[2] * 0.2

print("最终总评成绩为: ", final)

4、编写程序,找零钱

商店需要找钱给顾客,现在只有50元、5元和1元的人民币若干张。输入一个整数金额值,给出找钱的方案,假设人民币足够多,且优先使用面额大的钱币。

import math

m = int(input('Please input: '))

fifty = math.floor(m / 50)

five =  math.floor(( m- fifty * 50) / 5)

one =  math.floor(m - fifty * 50 - five*5)

print("找零方案:", fifty, five, one)

5、编写程序,进制转换

编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式。

x = input('Please input: ')

print("二进制:", bin(int(x)))

print("八进制:", oct(int(x)))

print("十六进制:", hex(int(x)))

1、餐厅下午茶

某餐厅推出了优惠下午茶套餐活动。顾客可以以优惠的价格从给定的糕点和给定的饮料中各选一款组成套餐。已知,指定的糕点包括松饼(Muffins)、提拉米苏(Tiramisu)、芝士蛋糕(Cheese Cake)和三明治(Sandwich);指定的饮料包括红茶(Black tea,)、咖啡(Coffee)和橙汁(Orange Juice)。请问,可以搭配出哪些套餐供客户选择?请依次打印输出各种套餐。

a_list=['松饼','提拉米苏','芝士蛋糕','三明治']

b_list=['红茶','咖啡','橙汁']

for i in a_list:

    for j in b_list:

        c_list=(i,j)

        print(c_list)

2、生成1000个0~100之间的随机整数,分别采用字典和集合统计每个元素的出现次数。

(1)字典

import random

x=[random.randint(0,101) for i in range(0,1000)]

d=dict()

print(x)

for ch in x:

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

print(ch,":",d[ch],end='\t')

(2)集合

import random

random_numbers = [random.randint(0,100) for _ in range(1000)]

number_counts = {}

for number in random_numbers:

    number_counts[number] = number_counts.get(number,0)+1

for number, count in number_counts.items():

print(f"{number}:{count}")

3、输入两个分别包含若干整数的列表lstA和lstB,输出一个字典,要求使用列表lstA中的元素作为键,列表lstB中元素作为值,并且最终字典中的元素数量取决于lstA和lstB中元素最少的列表的数量。

listA=input('请输入若干整数:')

listB=input('请输入若干整数:')

d=dict(zip(listA,listB))

print(d)

4、输入一个字符串,输出其中出现次数最多的字符及其出现的次数。要求使用字典完成。

str=input('请输入一个字符串:')

d=dict()

for ch in str:

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

print(max(d.items(),key=lambda item:item[1]))

5、籍贯分布

小夏和小迪接到一个调研任务,需要按省份统计班级同学的籍贯分布情况。他们决定两人分头统计男生和女生的籍贯分布,最后再汇总结果。

已知小夏统计的女生籍贯分布是:dicGirls={'Jiangsu':3,'Zhejiang':2,'Jilin':1} ;小迪统计的男生籍贯分布是:dicBoys={'Jiangsu':8,'Zhejiang':5,'Shandong':5,'Anhui':4,'Fujian':2}。请编写程序将两人的调研结果合并而且输出。

dicGirls={'Jiangsu':3,'Zhejiang':2,'Jilin':1}

dicBoys={'Jiangsu':8,'Zhejiang':5,'Shandong':5,'Anhui':4,'Fujian':2}

dic=dicBoys.copy()

for i,j in dicGirls.items():

    dic[i]=dic.get(i,0)+j

print(dic)

6、输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB。

setA = set(input("输入集合A:").split())

setB = set(input("输入集合B:").split())

inter = setA & setB

union = setA | setB

diff = setA - setB

print("交集:", inter)

print("并集:", union)

print("差集:", diff)

7、设计一个字典,并编写程序。用户输入内容作为键,然后输出字典中对应的值。如果用户输入的键不存在,则输出“输入的键不存在”。

d = {

    "1":"a",

    "2":"b",

    "3":"c",

    "4":"d",

    "5":"e"

}

a=input("用户请输入键:")

if a in list(d.keys()):

    print(a,d.get(a))

else:

    print("输入的键不存在")

列表

1、输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。

x = list(range(11))  

import random

random.shuffle(x)

print("随机生成列表",x)

y=sorted(x,reverse=True)

print("对x进行降序排列",y)

2、列表推导式 。使用列表推导式生成列表,其元素为100以内所有能被3整除的整数。

alist=[i for i in range(101) if i%3==0]

print(alist)

3、给出一个包含若干整数的列表[23,16,18,19,76,121,33,57,80],输出一个新列表,要求新列表中只包含原列表中的偶数。

number = [23, 16, 18, 19, 76, 121, 33, 57, 80]

number_d = [n for n in number if n % 2 == 0]

print(number_d)

4、列表切片

编写程序,用户输入一个列表和两个整数作为下标,然后用切片获取并输出介入两个下标之间的元素组成的子列表。例如,用户输入[1,2,3,4,5,6]和2,5后,程序输出[3,4,5,6]。

list = input("请输入一个列表:").split(",")

start = int(input("请输入开始下标:"))

end = int(input("请输入结束下标:"))

list = [int(num) for num in list]

list_c = list[start : end +1]

print("所选子列表为:", list_c)

5、单词长度

输入一句英文句子,例如:the scenery along the should be and the mood at the view,输出其中最长的单词及长度。

sent=input("请输入一句英文:")
word=sent.split()
length=[
len(x) for x in word]
lens=
max(length)
print("句子中最长的单词:",format(word[length.index(lens)]))
print("该单词的长度:",lens)

6、输入两个分别包含2个整数的列表,分别表示城市中两个地点的坐标,输出两个点之间的曼哈顿距离。
xlist=eval(input("请输入第一个坐标:"))

ylist=eval(input("请输入第二个坐标:"))

dis=map(lambda xlist,ylist:abs(xlist-ylist),xlist,ylist)

z=sum(dis)

print("两点之间的曼哈顿距离:",z)

7、阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。编写程序,输出国王需要拿出多少粒米呢?

x=sum([2**i for i in range(64)])

print(x)

函数

1、判断奇数编写isOdd()函数,该函数应有一个整数参数,如果该参数为奇数,函数返回True,否则返回False。并编写主程序调用该函数进行测试。

def isOdd(n):

    if n%2!=0:

        return True

    else:

        return False

n=int(input('请输入一个整数'))

print(isOdd(n))

2、闰年

编写一个程序,在主程序中求1900 ~ 2020年中所有的闰年,每行输出5个年份。闰年即能被4整除但不能被100整除,或者能被400整除的年份。要求定义一个函数isLeapYear (year ),该函数用来判断某年是否为闰年,是闰年则函数返回True,否则返回False。并编写主程序调用该函数进行测试.

def isLeapYear (year):

    if year%4==0 and year%100!=0 or year%400==0:

        return True

    else:

        return False

count=0

for i in range(1900,2021):

    x=isLeapYear(i)

    if x:

        print(i,end='\t')

        count+=1

    if count%5==0:

        print()

3、编写函数,判断一个整数是否为素数,并编写主程序调用该函数。

def a(num):

    if num<=1:

        return False

    for i in range(2,int(num ** 0.5) +1 ):

        if num%i==0:

            return False

        else:

            return True

num = int(input())

if a(num):

    print(num,"是素数")

else:

    print(num,"不是素数")

4、编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。

def tongji(str):

    lst=[0,0,0,0]

    for i in str:

        if 'A'<=i<='Z':

            lst[0]+=1

        elif 'a'<=i<='z':

            lst[1]+=1

        elif '0'<=i<='9':

            lst[2]+=1

        else:

            lst[3]+=1

    atuple=tuple(lst)

    return atuple

str=input('请输入一个字符串:')

print(tongji(str))

5、(可变长度参数)编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。

def max_sum(*args):

    max_num= max(args)

    sum_num= sum(args)

    print("最大值为:", max_num)

    print("所有整数和为:",sum_num)

max_sum(3,4,5,4,5,9,15,3)

6、lambda表达式的应用

利用lambda表达式和filter()函数实现按行输出列表[3, 5, -7, -1, 0, -9]中所有的负数。

lst=[3, 5, -7, -1, 0, -9]

print(list(filter(lambda x:x<0,lst)))

7、编写函数,模拟内置函数sum()。

def resum(n):

    r = 0

    for item in n:

        r += item   

    return r

number = [2,5,4,7,8,9]

print(resum(number))

8. 编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为所有参数中大于平均值的实数。

def fun(*a):

    average=sum(a)/len(a)

    list=[]

    for i in a:

        if i>average:

            list.append(i)

    tuple=(average,list)

    return tuple

input('任意多实数:')

print(fun(4,5,6,7,9,0))

9.编写函数,接收包含n个整数的列表lst和一个整数k(0<=k<n)作为参数,返回新列表。处理规则为:将列表lst中下标k之前的元素逆序,下标k之后的元素逆序,下标K元素位置不变。

l=[12,3,18,1,2,8,10,11,-1,-2,9,7]

print(demo(l,5))

结果:[2, 1, 18, 3, 12, 8, 7, 9, -2, -1, 11, 10]

def demo(lst, k):

    before = lst[:k]

    after = lst[k+1:]

    r1 = before[::-1]

    r2 = after[::-1]

    r = r1 + [lst[k]] + r2

    return r

l = [12,3,18,1,2,8,10,11,-1,-2,9,7]

print(demo(l,5))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/833567
推荐阅读
相关标签
  

闽ICP备14008679号