python作业习题

文章展示了如何使用Python进行字符串操作,包括提取数字、去除重复字母、字符串反转、查找最高频字符等。此外,还介绍了利用列表推导式生成数字列表以及如何设计一个随机点名系统,该系统结合了文本输入和语音输出功能。
摘要由CSDN通过智能技术生成

已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",要求如下

 

(1)将a字符串的数字取出,并输出成一个新的字符串。

(2)去除a字符串多次出现的字母,仅留最先出现的一个。例'abcabb',经过去除后,输出 'abc'。

(3)将a字符串反转并输出。例:'abc'的反转是'cba'。

(4)输出a字符串出现频率最高的字母。

a="aAsmr3idd4bgs7Dlsf9eAF"
print(''.join([s for s in a if s.isdigit()]))
a_list=list(a)
set_list=list(set(a_list))
set_list.sort(key=a_list.index)
print(''.join(set_list))
a_list=list(a)
a_list.reverse()
print(''.join(a_list))
a_set_list=([(x,a.count(x))for x in set(a)])
a_set_list.sort(key=lambda k:k[1],reverse=True)
print(a_set_list[0][0])

获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出。

例如:

输入:Alice-Bob-Charis-David-Eric-Flurry

输出:Alice+Flurry

a=input()
k=""
for i in a:
    if i=="-":
        break
    else:
        k+=i
j=""
a=a[::-1]
for i in a:
    if i=="-":
        break
    else:
        j+=i
j=j[::-1]
print(k+"+"+j)

获得用户输入的一个整数a,计算a的平方根,保留小数点后3位,并打印输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

如果结果超过30个字符,则以结果宽度为准。

import math
a=int(input())
b=pow(a,0.5)
print("{:+>30.3f}".format(b))

读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

n=eval(input())
p=int((n+1)/2)
for i in range(1,p+1,1):
    for j in range(p-i):
        print("",end="")
        for k in range(2 * i - 1):
            print("*", end="")
        for q in range(p - i):
            print(" ", end="")
print()

用Python代码实现使用列表推导式,要求生成包含10个数字8的列表。

def t():
    print('1-1:list=',[8 for i in range(10)])
print(t())

32315b0dca85432291ee5225f5119c79.png

编写程序,将列表num=[1,2,3,4,5,6,7,8,9]中的偶数变成它的平方,奇数保持不变。

def t():
    num=[1,2,3,4,5,6,7,8,9]
    for i in range(len(num)):
        if num[i]%2==0:
            num[i]=num[i]*num[i]
    print('1-3:num=',num)
print(t())

 编写程序,求列表s=[9,7,5,3,6,8,20,57,23]中的元素个数、最大值、最小值,以及元素之和、平均值,注意代码中的数据

def t(s):
    sum=0
    all=0
    maxnum=max(s)
    minnum=min(s)
    for i in s:
        sum=sum+1
        all=all+i
        average=all/sum
        print(str("元素个数{0},最大值{1},最小值{2},元素和{3},平均值{4}").format(sum, maxnum, minnum, all, average))
def main():
    s=[9,7,5,3,6,8,20,57,23]
    t(s)
main()

使用random模块设计随机点名小项目

import random               #导入随机模块
import pyttsx3           #导入第三方语音模块
listen = pyttsx3.init()

txt_path = input('请输入txt文件的path:')
txt = open(f'{txt_path}','r',encoding='utf-8')
name_list = []
for i in txt:
    i = i.replace('\n','')
    name_list.append(i)

print(name_list)


txt.close()

while True:
    if len(name_list) == 0:
        print('结束')
        break
    r_num = random.randint(0, len(name_list) - 1)
    a = input('输入b退出,其他值继续:')
    if a == 'b':
        print('结束')
        break
    else:
        print(f'本次被点到名的是:{name_list[r_num]}')
        listen.say(f'{name_list[r_num]}')
        listen.runAndWait()
        name_list.pop(r_num)
        print()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超翔之逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值