python初学(一)
1.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:1)用if语句实现;2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
try:
a=int(input())
if 0<=a<=100:
if 90<=a<=100:
print('A')
elif 80<=a<90:
print('B')
elif 70<=a<80:
print('C')
elif 60<=a<70:
print('D')
else:
print('E')
else:
print('error')
except Exception as e:
print(e)
2.篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。体育作家Bill James发明了一种算法,用于判断领先是否“安全”。
算法描述:1)获取领先的分数 ,减去3分;2)如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);3)计算平方后的结果;4)如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。请编写程序实现上述算法的功能,并给出运行结果。
try:
a=float(input('领先的分数:'))-3
b=input('目前是领先队控球吗? yes/no:')
while b!='yes' and b!='no':
b=input('目前时领先队控球吗? yes/no:')
c=float(input('当前比赛剩余的秒数:'))
if b=='yes':
a+=0.5
else:
a-=0.5
if a<0:
a=0
if a**2>c:
print('安全')
else:
print('不安全')
except Exception as e:
print(e)
3.根据
,求:
(1) y<3时的最大n值。
(2)与(1)的n值对应的y值。
def fun(n):
a=0.0
for i in range(1,2*n+1,2):
a+=1/i
return a n=1
y=fun(n)
while y<3:
n+=1
y=fun(n)
n-=1
print(n)
print(fun(n))
4.小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。
要把100元正好花掉,可有哪些购买组合?
import math total=100
a=15
c=5
b=2
res=[]
for i in range(math.floor(total/a),-1,-1):
for j in range(0,math.floor(total/c)):
for k in range(0,math.floor(total/b)):
if total==a*i+c*j+b*k:
res.append([i,k,j])
for i in range(len(res)):
print('洗发水{0}个,香皂{1}个,牙刷{2}个'.format(res[i][0],res[i][1],res[i][2]))
5.设计一个猜数游戏。首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。用户最多可以猜7次,如果7次均未猜中,则显示“You lost !”,并给出正确答案,游戏结束。游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。
import random def fun(n):
flag=random.randint(1,100)
for _ in range(n):
try:
number=int(input())
if number>flag:
print('High')
elif number<flag:
print('Low')
else:
return True
except Exception as e:
print(e)
return False
return False if __name__ == "__main__":
print("猜数字,1-100")
while True:
if fun(7):
print('You won !')
else:
print("You lost !")
choice=input('继续游戏?Y/N:')
while choice!='Y' and choice!='N':
choice=input('继续游戏?Y/N:')
if choice=='N':
break
6.建立1个包含10个字符的字符串,并根据键盘输入的数字n输出字符串中的第n个字符。当n值超过字符串的索引时,自动转为输出字符串中的最后1个字符。
要求:用try语句实现。
s='abcdefghij'
try:
n=int(input())
print(s[n])
except IndexError:
print(s[-1])
except Exception as e:
print(repr(e))
7.编写函数,该函数可以输入任意多个数,函数返回输出所有输入参数的最大值、最小值和平均值。
def fun(*n):
print('max',max(n))
print('min',min(n))
print('avg',sum(n)/len(n)) fun(1,2,3,4,5)
8.一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?
要求:利用递归函数编程实现。
def fun(count):
if count>=7:
return 2
else:
return (fun(count+1)+1)*2 print(fun(0))
python初学(一)的更多相关文章
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- Python初学笔记之字符串
一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...
- Python初学的易犯错误
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...
- Python初学
经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...
- python 初学笔记 (一)
初学python第一天,希望自己真正了解计算机语言,并且做出成效. 写下学习笔记,记录学习进度,娱乐学习,不断成长. python详细介绍: python是什么?运用到哪里?有哪些在使用它? pyth ...
- Python初学(1)
最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...
- python初学心得之一
昨天开始接触并学习python,对python有了初步印象. 一.python主要应用方向 二.python语言类型 三.python2和3的主要区别 四.常见字符编码 五.Python语法初学 一 ...
- python初学杂记
python常用命令: 1.python 或者 python3 打开交互式python解释器 2.python hello.py 通过命令提示符运行python脚本 交互式python解释器常用 ...
- Mac下python初学之Image库(PIL)
Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...
- python初学day01
1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...
随机推荐
- JDBC(三)----Spring JDBC(JDBCTemplate)
## Spring JDBC * Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发 1.步骤 1.导入jar包 2.创建JDBCTemplate对象 ...
- redis 一百二十篇(简单介绍)之第一篇
前言 总结自己的redis,日常使用不是特别频繁,所以比较基础. 开篇 redis 是无关系型数据库,因为其实内存数据库,所以常常和他的竞争对手memcached对比,因为两者原理基础相似,存储方式也 ...
- OpenCV-Python Meanshift和Camshift | 四十七
学习目标 在本章中, 我们将学习用于跟踪视频中对象的Meanshift和Camshift算法. Meanshift Meanshift背后的直觉很简单,假设你有点的集合.(它可以是像素分布,例如直方图 ...
- [React]Context机制
在React中,Context机制是为了方便在组件树间传递数据. 例子 import React from 'react' const themes={ light:"亮色主题", ...
- css 动画 transition和animation
本文参考:http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html 1. transition基本用法: < ...
- RocketMQ调研
一.发展历程 早期淘宝内部有两套消息中间件系统:Notify和Napoli. 先有的Notify(至今12历史),后来因有序场景需求,且恰好当时Kafka开源(2011年),所以参照Kafka的设计理 ...
- MySQL手工注入进阶篇——突破过滤危险字符问题
当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...
- 基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
前提 创业小团队,无论选择任何方案,都优先考虑节省成本.关于分布式定时调度框架,成熟的候选方案有XXL-JOB.Easy Scheduler.Light Task Scheduler和Elastic ...
- Zookeeper是如何实现分布式锁的
[toc] Zookeeper是如何实现分布式锁的 标签 : Zookeeper 分布式 实现分布式锁要考虑的重要问题 1. 三个核心要素 加锁, 解锁, 锁超时 2. 三个问题 要保证原子性操作, ...
- x86汇编利用int 16h中断实现伪多线程输入
x86汇编利用int 16h中断实现伪多线程输入 我们都知道,如果想让一个程序,同时又干这个,又干那个,最好的办法就是多线程.这个在高级语言里面已经用烂了. 但是,DOS是只有单线程的.我如果想让程序 ...