python习题库57-65

习题57、 用户输入不同的数据,当输入的数据达到3个数字的时候,求和结束程序。(数字可以是整数)

提示:判断是否整数的方法,isdigit()
遍历所有的输入数据,判断是否在0-9的字符串范围内
方法1:

#coding=utf-8
result=0
count=0
while True:
    s=input("please input the number:")
    for v in s:
        if v not in "0123456789":#如果不是数字跳出当前循环
            break
    else:
        count+=1
        result +=int(s)
    if count==3:
        break
print(result)

在这里插入图片描述
方法2:**利用isdigit()函数
知识点:isdigit() 函数的作用:检测字符串是否只由数字组成。

result=0
count=0
while  True:
    s=input("please input the number:")
    if s.isdigit():
        count+=1
        result+=int(s)
    if count==3:
        break
print(result)

在这里插入图片描述

习题58:用嵌套列表的方式,遍历输出一个矩阵

方法1:

l=[[1,2,3],[4,5,6],[7,8,9]]
for i in l:
    for j in i:
        print(j,end="")
    print()

在这里插入图片描述
方法2:

l=[[1,2,3],[4,5,6],[7,8,9]]
for i in range(len(l)):
    for j in range(len(l[i])):
        print(l[i][j],end=" ")
    print()

在这里插入图片描述

习题59:嵌套列表的正、反对角线之和

正对角线之和:

l=[[1,2,3],[4,5,6],[7,8,9]]
result=0
for i in range(len(l)):
    for j in range(len(l[i])):
        if i==j:
            result +=l[i][j]
print(result)

在这里插入图片描述
反对角线之和:

l=[[1,2,3],[4,5,6],[7,8,9]]
result=0
for i in range(len(l)):
    for j in range(len(l[i])):
        if (i+j)==2:
            result +=l[i][j]
print(result)

在这里插入图片描述

习题60:求以下矩阵四边元素之和

方法1:
1、第1行和第5行所有元素求和
2、其他行 只要第1列和第5列求和

l=[
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]
]
result=0
for i in range(len(l)):
    for j in range(len(l[i])):
        if i==0 or i==4:
            result+=l[i][j]
        else:
            if j==0 or j==4:
                result+=l[i][j]
print(result)

在这里插入图片描述
方法2:所有元素之和,减去中间矩阵之和

l=[
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5],
[1,2,3,4,5]
]
matrix_element_sum=0
sub_matrix_element_sum=0

for i in range(len(l)):
    for j in range(len(l[i])):
        
        matrix_element_sum+=l[i][j]

result_mid=0

for i in range(len(l)):
    for j in range(len(l[i])):
        if i==0 or i==4:
            continue
        else:
            if j !=0 and j !=4:
                sub_matrix_element_sum+=l[i][j]
print(matrix_element_sum-sub_matrix_element_sum)

在这里插入图片描述

习题61:统计单词中包含字母a的单词个数

s="I am a boy!"
count=0
list1=s.split()
for value in list1:
    if "a" in value:
        count+=1
print(count)

在这里插入图片描述

习题62、使用尽可能多的方法实现list去重

**方法1:**利用两个列表,遍历一个列表元素,如果不在另外一个列表,添加进另外一个列表

list1=[1,2,3,4,5,1,2,3,4,1,2]
result=[]
for i in list1:
    if i not in result:
        result.append(i)
print(result)

在这里插入图片描述
方法2:利用set

list1=[1,2,3,4,5,1,2,3,4,1,2]
result=list(set(list1))
print(result)

在这里插入图片描述
**方法3:**利用字典

list1=[1,2,3,4,5,1,2,3,4,1,2]
result={}
for value in list1:
    result[value]="a"
print(list(result))

在这里插入图片描述
**方法4:**遍历每一个元素,如果当前元素列表包含个数大于1,删除掉

orinal_list = [1,1,2,3,3,4,4,5,5,6]
for i in orinal_list:
    for j in range(orinal_list.count(i)-1):
        orinal_list.remove(i)
print (orinal_list)

在这里插入图片描述

习题63、成绩等级判断 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示, 60-89分之间的用B表示,60分以下的用C表示

while 1:
    try:
        score=float(input("请输入学生的成绩:"))
    except:
        print("成绩输入有误!请重新输入!")
    else:
        break
if score >=90:
    print("A")
elif score>=60 and score<=89:
    print("B")
else:
print("C")

在这里插入图片描述

习题64、键盘读入一字符串,逆序输出

方法1:

string=input("请输入字符串:")
print(string[::-1])

在这里插入图片描述
方法2:
知识点:end=””抑制换行

string=input("请输入字符串:")
for i in range(len(string)-1,-1,-1):
print(string[i],end="")

在这里插入图片描述

习题65、求100个随机数之和,随机数要求为0—9的整数

import random
result=0
for i in range(100):
    result+=random.randint(0,9)
print(result)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值