python课作业中遇到的小问题

因为近期将pycharm从C盘转移到D盘,以至于好多功能不能用了。。。我也不知道为啥。

一:

例如,使用BS库,构建BeautifulSoup对象不能使用BeautifulSoup(html,'lxml')改用html.parser。

因为版本错误。

(1)将本地html文件转化为对象

soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')

lxml :

是一个文件解析库,通过它的解析生成对象,是一个第三方库,需要安装,

安装

 pip install lxml

html.parser :

是python自带的一个文件解析库

eg:

soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')

二:

 

基于 input 函数,对输入的字符串进行处理,并将返回替换了某些

字符的字符串,规则如下

如果一个字母是大写辅音,请将该字符替换为“Iron”

如果字母是小写辅音或非字母字符,则对该字符不执行任何操

如果一个字母是大写元音,请将该字符替换为“Iron Yard”

如果一个字母是小写元音,请用“Yard”替换该字符。

思想(遍历字符串的每一个元素,对每一个进行分析返回)

a = list(input("请输入一串英文:"))

for i in a:

if

切片:浅复制和深复制; 

冒泡排序,迭代:

 

老王在一个"胖子健身俱乐部",每到月底老王就很担心,因为每个

月都会公布一份成员体重列表,每个月他都是列表中的最后一个,这

意味着他是最重的。于是他就建议会长修改规则,比如新的规则如下:

新的排序规则将是按照权重来进行排序,如果权重相同,则按照体

重字符串来进行排序。(权重的计算规则:体重数字不同位数上的数字

的总和)

给定某种正常顺序俱乐部的成员的体重字符串,如何实现按照新规则

排序呢?测试用例:输入: "99 189 86 75"输出: "75 86 189 99"

错误的:

 

方法一:
n =int(input("请输入学员的人数:"))
list1=[]
q=[]
for i in range(n):
    m=int(input("请输入学员的体重:"))
    list1.append(m)
    q.append(0)
for k in range(n):
    for a in range(1,n-1,-1):
        x = list1[k]
        y = list1[a]
        while x > 0:
            q[k] += int(x) % 10
            x = int(x // 10)
        while y > 0:
            q[a] += int(y) % 10
            y = int(y // 10)
        if q[k] >q[a]:
            t=list1[a]
            list1[a]=list1[k]
            list1[k] =t
for i in range(n):
    print(list1[i])

 

def fn(b):
    sum =0
    while b!=0:
        sum+=b%10
        b/=10
    return sum
def main():
    n = int(input("请输入学员的人数:"))
    list1=[]
    list2 = []
    for i in range(n):
        m=int(input("请输入学员的体重:"))
        list1.append(m)
        list2.append(0)
        list2[i] =fn(list1[i])
    for k in range(n):
        for a in range(1,n):
            if list2[k]>list2[a]:
                t=list1[k]
                list1[k]=list1[a]
                list1[a] =t
    print(list1)
main()

排序它的权重:

list =[45,67,88,95,122,143]
list1=[]
for i in list:
    s=0
    for j in str(i):
        s+= int(j)
    list1.append(s)
print(sorted(list1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值