问:

基础题:

从键盘输入4个数字,各数字采用空格分隔,对应为变量x0,y0,x1,y1。计算(x0,y0)和(x1,y1)两点之间的距离,输出结果保留1位小数。
比如,键盘输入:0 1 3 5,屏幕输出:5.0

提高题:

键盘输入小明学习的课程以及考试分数信息,信息之间采用空格分隔,每个课程一行,空格回车结束录入,示例格式如下:
数学 90
语文 95
英语 86
物理 84
生物 87
输出得分最高和最低的课程名称、考试分数,以及所有课程的平均分(保留2位小数)
格式如下:
最高分课程是语文 95,最低分课程是物理 84,平均分是88.4 答:

基础题:

从键盘输入4个数字,各数字采用空格分隔,对应为变量x0,y0,x1,y1。计算(x0,y0)和(x1,y1)两点之间的距离,输出结果保留1位小数。
比如,键盘输入:0 1 3 5,屏幕输出:5.0

方法1:

i = input('输入坐标').split()
x1, x2, x3, x4 = eval(i[0]), eval(i[1]), eval(i[2]), eval(i[3])
dis = pow((pow(x3 - x1, 2) + pow(x4 - x2, 2)), 0.5)
print(dis)

方法2:

variable = list(input("输入四个数字:(空格分隔)").split(' '))
x0,y0,x1,y1 = variable[0],variable[1],variable[2],variable[3]
distance = ((eval(x0)-eval(x1))**2 + (eval(y0)-eval(y1))**2)**0.5
print("{:.1f}".format(distance))

方法3:

from math import sqrt, pow

def cal_distance(x1, y1, x2, y2):
return sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) if __name__ == '__main__':
x1, y1, x2, y2 = map(float, input("请输入坐标数字:").split())
print(cal_distance(x1, y1, x2, y2))

方法4:

a = input('input your number:').split()
x0, y0, x1, y1 = int(a[0]), int(a[1]), int(a[2]), int(a[3])
target = float(((y0-y1)**2+(x0-x1)**2)**0.5)
print(target)

方法5:

import math

s1 = input("请输入2个点坐标,用逗号分隔")
lst = s1.split(',') x0 = int(lst[0])
y0 = int(lst[1])
x1 = int(lst[2])
y1 = int(lst[3]) a1 = int(pow((x0 - x1), 2))
a2 = int(pow((y0 - y1), 2))
leng = math.sqrt(a1 + a2) print("({0},{1}),({2},{3})之间的距离为{4}" .format(x0, y0, x1, y1, leng))

提高题:

键盘输入小明学习的课程以及考试分数信息,信息之间采用空格分隔,每个课程一行,空格回车结束录入,示例格式如下:
数学 90
语文 95
英语 86
物理 84
生物 87
输出得分最高和最低的课程名称、考试分数,以及所有课程的平均分(保留2位小数)
格式如下:
最高分课程是语文 95,最低分课程是物理 84,平均分是88.4


方法1:

j = input('请输入课程和成绩').split()
k = {}
sum = 0
for i in range(0, len(j), 2):
k[j[i]] = eval(j[i+1])
sum += eval(j[i+1])
k1 = sorted(k.items(),key=lambda k : k[1])
print('最高课和成绩:', k1[-1])
print('最低课和成绩:', k1[0])
print('均值:{:.2f}'.format(sum/(len(j)/2)))

方法2:
info_list = []
scores, subjects = 0, 0
while True:
info = input("请输入小明成绩:(以空格分隔;回车结束录入)")
if info == '':
break
else:
info_list.append(info.split(' '))
scores += eval(info.split(' ')[1])
subjects += 1
info_list.sort(key=lambda x: x[1], reverse=True)
print("最高分课程是{}:{},最低分课程是{}:{},平均分是{:.1f}".format(info_list[0][0], info_list[0][1], info_list[-1][0], info_list[-1][1], scores / subjects))

方法3:
class Student:
name = '姓名'
course = 'none'
course_score = -1 def theHighestScore(self, course_score_list):
return max(course_score_list) def theLowestScore(self, course_score_list):
return min(course_score_list) def theAverageScore(self, course_score_list):
sum = 0
for score in course_score_list:
sum += score average_score = sum / len(course_score_list)
return average_score if __name__ == '__main__':
student = Student()
student.name = '小明' course_score_dict = {} student.course = list(map(str, input("请先输入课程名:").strip().split()))
student.course_score = list(map(float, input("然后请输入课程对应考试分数:").strip().split())) course_score_dict = dict(zip(student.course, student.course_score)) print(course_score_dict)
theHighestScore = student.theHighestScore(student.course_score)
theLowestScore = student.theLowestScore(student.course_score) print('最高分课程是%s %d' % (max(course_score_dict, key=course_score_dict.get), theHighestScore))
print('最低分课程是%s %d' % (min(course_score_dict, key=course_score_dict.get), theLowestScore))
print('平均分是', student.theAverageScore(student.course_score))

方法4:

c_s_list = {}  # class & score
sum = 0 # 均值
while True:
a = input('input your class && score:') if a == 'esc':
for key, value in c_s_list.items():
print(key,value)
sum += int(value) # 均值 max_min = sorted(c_s_list.items(), key=lambda s: s[1]) print('\n得分最高的课程名称:{}考试分数:{}'.format(max_min[-1][0], max_min[-1][1]))
print('得分最低的课程名称:{}考试分数:{}'.format(max_min[0][0], max_min[0][1]))
print('均值:%.1f' % (sum/len(c_s_list)))
break
else:
b = a.split()
c_s_list[b[0]] = b[1]


Python【每日一问】35的更多相关文章

  1. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  2. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  3. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  4. 每日一问:Android 消息机制,我有必要再讲一次!

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...

  5. 每日一问:谈谈 volatile 关键字

    这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...

  6. 每日一问:讲讲 Java 虚拟机的垃圾回收

    昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...

  7. 每日一问:你了解 Java 虚拟机结构么?

    对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...

  8. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  9. 每日一问:简述 View 的绘制流程

    Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...

  10. python每日一练:0007题

    第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...

随机推荐

  1. Jquery书写ajax

    根据API学习本章 Jquery书写ajax 使用ajax发送表单到servlet,发送时显示等待图片,servlet处理完返回信息,在页面显示返回信息,并且隐藏等待图片 <%@ page la ...

  2. hibernate分表保存日志

    @Service("accessLogService")@Transactionalpublic class LogMessageServiceImpl extends BaseD ...

  3. WeX5 IDE 手机移动开发+JAVA +大数据

    http://www.wex5.com/wex5/?qb360=wex501=3534 前端技术 HTML,CSS,JavaScript,EasyUI,Jquery,HTML5,CSS3,Jquery ...

  4. Java对二叉搜索树进行插入、查找、遍历、最大值和最小值的操作

    1.首先,须要一个节点对象的类.这些对象包括数据.数据代表存储的内容,并且还有指向节点的两个子节点的引用 class Node { public int iData; public double dD ...

  5. Maven中的dependency的scope作用域详解

    1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖 2.compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去 3.provided依赖:在编译和测试的过程有效,最后 ...

  6. 升级DM5校验

    1,将某个文件生成带DM5的文件,使用srec_cat工具: read A   #原始文件 srec_cat $A -o 要生成的文件名称  -Line_Length 46 -Address_Leng ...

  7. 《Qt on Android核心编程》前言:为什么写作本书

    2008年.我開始在CSDN写技术博客. 在此之前,我的理想是写出受人待见的小说来.我也以前在网络论坛上笔耕不辍获得一些成绩,也以前发表过一些散文以及小说.而那一年,当我再次拾起笔来写东西时.却选择了 ...

  8. multiple web application host under the same website on IIS (authentication mode)

    第一种方式,修改forms的name how to set the forms authentication cookie path assume you have already solved th ...

  9. ES transport client批量导入

    从bulk.txt文件中按行读取,然后bulk导入.首先通过调用client.prepareBulk()实例化一个BulkRequestBuilder对象,调用BulkRequestBuilder对象 ...

  10. 【BZOJ 3942】 Censoring

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3942 [算法] 栈 + KMP [代码] #include<bits/stdc ...