欧小麦 发表于 2018-7-1 19:28:46

21天学通python课后练习题-记录交流帖

第三章 Python数据类型
二、实验题
1.编程实现用户输入1个整数,输出这个整数的平方
num = input("请输入一个数字:")
n = int(num)
n = n*n
print(n)
2.编程实现用户输入3个整数,放入列表,并输出最小值
num1 = input("请输入第一个数字:")
num2 = input("请输入第二个数字:")
num3 = input("请输入第三个数字:")

a = int(num1)
b = int(num2)
c = int(num3)

alist =
print(alist)

print(min(alist))

3.编程实现用户输入5个数,并得到列表,选用两种切片方法取出并输出。
num1 = input("请输入第一个数字:")
num2 = input("请输入第二个数字:")
num3 = input("请输入第三个数字:")
num4 = input("请输入第四个数字:")
num5 = input("请输入第五个数字:")

a = int(num1)
b = int(num2)
c = int(num3)
d = int(num4)
e = int(num5)

alist =

print(alist)

print(alist[-4:-2])

4.用三种方法编程实现初始化字典{‘a’:1,'b':2},并设置其key为‘c’的对应值为3.
#直接建立字典
a = {'a':1,'b':2}
#用dict函数初始化一个空字典后加入元素
b = dict()
b.update({'a':1,'b':2})
#用dict函数转换两个列表为字典
c1 = ['a','b']
c2 =
c = dict(zip(c1,c2))

print(a)
print(b)
print(c)


d = a.setdefault('c',3)
print(d)
print(a)


5.输入某科目前10的分数,求其总分和平均分
num1 = input("请输入第1名成绩:")
num2 = input("请输入第2名成绩:")
num3 = input("请输入第3名成绩:")
num4 = input("请输入第4名成绩:")
num5 = input("请输入第5名成绩:")
num6 = input("请输入第6名成绩:")
num7 = input("请输入第7名成绩:")
num8 = input("请输入第8名成绩:")
num9 = input("请输入第9名成绩:")
num10 = input("请输入第10名成绩:")

n = [int(num1),int(num2),int(num3),int(num4),int(num5),\
   int(num6),int(num7),int(num8),int(num9),int(num10)]

s = sum(n)/len(n)

print(s)

欧小麦 发表于 2018-7-1 22:13:06

第四章 控制语句执行流程
二、1编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不及格,则显示“补考”。
num1 = int(input('请输入第一门子课程成绩'))
num2 = int(input('请输入第二门子课程成绩'))

if num1>=60:
    if num2<60:
      print('补考')
    else:
      print('通过')
else:
    print('未通过')
2.编程实现输入20个数,将所有数收集到一个列表中,然后分别将正数、负数放入两个列表并输出。
n = []
a = []
b = []
i = 0
while i < 20:
    num = int(input('请输入数'))
    n.append(num)
    i += 1

if i == 20:
    a = [ i for i in n if i >0 ]
    b = [ i for i in n if i <0 ]

print("全部数字为:%s"%n)
print("其中正数为:%s"%a)
print("其中负数为:%s"%b)

lightis_tian 发表于 2018-7-24 14:58:12

请问还有吗??

woshixiao 发表于 2018-8-1 16:03:02

后面的还有吗

刘麻子 发表于 2018-8-4 18:24:11

后面几章的答案还有吗?

欧小麦 发表于 2018-8-18 11:07:14

第5章 自定义功能单元(一)
二、实验题
1.自定义函数实现对列表中的数值进行排序
#自定义函数实现对列表中的数值进行排序

#自定义排序函数(冒泡法)
def list_sort(list):
    n = len(list)
    for i in range(n-1):
      for j in range(i+1,n):
            if list<list:
                list,list=list,list
            else:
                list,list=list,list

#输入一个数组
x = input("请输入一些列数字")
xlist = x.split(" ")
xlist = ) for i in range(len(xlist))]
print(xlist)#打印数组

list_sort(xlist)#排序
print(xlist)

欧小麦 发表于 2018-8-18 11:23:43

第5章 自定义功能单元(一)
二、实验题
2.自定义函数实现计算字符串中空格的个数
#自定义计数空格
def count_space(list):
    n = len(list)
    count=0
    for i in range(n):
      if list == ' ':
            count+=1
    print(count)

#输入一个数组
x = input("请输入一组内容")
count_space(x)

欧小麦 发表于 2018-8-18 11:45:01

第5章 自定义功能单元(一)
二、实验题
3.自定义函数获取超链接
import re

#定义获取超链接的函数
def get_url(html):
    urls = re.findall('href=.*?>', html)# 正则出a链接 href
    urlList = []# 定义urlList
    for url in urls:
      url = url.replace("href=\"", '')# 替换href="
      urlList.append(url[:-2])# 获取的0到-2长度的字符串
    print(urlList)

#字符串信息
html1 = '''<h3>contact us</h3>
<p>contact: manager wang</p>
<p>telephone:12345666</p>
<div id="nav">
<ul>
<li><a class="nav-first" href="/">homepage</a></li>
<li><a href="/lista.php">111</a></li>
<li><a href="/lista.php">222</a></li>
<li><a href="/order/setorder.php">333</a></li>
<li><a href="/what/cool/ista.php">444</a></li>
</ul>
</div>'''
#调用函数
get_url(html1)

欧小麦 发表于 2018-8-18 20:04:40

第6章 自定义功能单元(二)
#假设某游戏项目中需要定义一个精灵对象,其所需的属性有体重、颜色、高度、能量;
#具有行走、跳跃、进食能力,且行走和跳跃会消耗能量、进食增加能量。
#请根据描述定义这个精灵类。

class PetA:
    def __init__(self,weight,color,height,eneryg=100):#定义属性
      self.weight = weight
      self.color = color
      self.height = height
      self.energy = energy

    def move(self):#行走能力,消耗能量
      self.energy -= 1

    def jump(self):#跳跃能力,消耗更多能量
      self.energy -= 3

    def eat(self,n):#进食能力,吃多少加多少
      self.energy += n

#定义一个会跳跃、爬行、飞行、用身子撞击的FinalAnt
class FinalAnt:
    def __init__(self,x=0,y=0,color="black"):
      self.x = x
      self.y = y
      self.color = color

    def jump(self,x,y):#跳跃
      self.x = 2 * x
      self.y = 2 * y
      print('跳跃')
      self.info()

    def crawl(self,x,y):#爬行
      self.x = x
      self.y = y
      print("爬行")
      self.info()

    def info(self):
      print("当前位置:(%d,%d)"%(self.x,self.y))

    def fly(self,x,y):#飞行
      print('飞行')
      self.x = x
      self.y = y
      self.info()
      
    def attack(self):#撞击
      print('撞击')

欧小麦 发表于 2018-8-18 20:27:50

第7章 错误、异常和程序调试
#编程实现对用户输入的整数进行求和与求平均值。
#当用户输入的不是整数时跳过,并提示而不中止程序
i = 1
sum = 0

while(1):
    n = input('请输入第%d个数:'%i)
    if n.isdigit():#判断是否是整数
      n = int(n)
      i += 1
      sum += n
    else:
      print('您输入的不是整数,请重新输入')
    print('目前的和是:',sum,'平均值为',sum/(i-1))

欧小麦 发表于 2018-8-18 21:06:40

第8章.复杂程序组织
#编写一个模块来包含数学中的求平方、求绝对值、判断素数
#这个模块可以独立运行,并输出一个数的平方、绝对值、是否素数
import math
#平方
def pingfang(num):
    num = num*num
    print('平方是',num)
#绝对值
def jueduizhi(num):
    if num<0:
      num = -num
    else:
      num = num
    print('绝对值是',num)
   
#判断是否素数
def sushu(num):
    # 素数大于 1
    if num > 1:
      # 查看是否有其他因子
      for i in range(2, num//2+1):
            if (num % i) == 0:
                print(num,"是素数")
                break
      else:
            print(num, "不是素数")

    # 如果输入的数字小于或等于 1,不是素数
    else:
      print(num, "不是素数")


if __name__ == '__main__':
    #用户输入一个数字
    num = int(input('请输入一个数字:'))
    pingfang(num)
    jueduizhi(num)
    sushu(num)

不是我不是我 发表于 2018-9-22 15:02:12

欧小麦 发表于 2018-7-1 22:13
第四章 控制语句执行流程
二、1编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,显示“ ...

还有吗 后边的?

1241121704@qq.c 发表于 2019-3-8 10:46:08

求答案..{:10_280:}

w15917596513 发表于 2022-1-8 11:43:34

有老哥知道后续的吗

页: [1]
查看完整版本: 21天学通python课后练习题-记录交流帖