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 ...
随机推荐
- Spring Boot入门系列(九)如何实现异步执行任务
前面介绍了Spring Boot 如何整合定时任务,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.htm ...
- 曹工说Spring Boot源码(25)-- Spring注解扫描的瑞士军刀,ASM + Java Instrumentation,顺便提提Jar包破解
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...
- spring官方demo及配置查看
1.http://spring.io/projects/spring-framework 2.https://github.com/spring-projects/spring-mvc-showcas ...
- Java日期处理易踩的十个坑
前言 整理了Java日期处理的十个坑,希望对大家有帮助. 一.用Calendar设置时间的坑 反例: Calendar c = Calendar.getInstance(); c.set(Calend ...
- dirname,basename的用法与用途
#dirname介绍 当对文件使用dirname时,返回文件的上级目录,输出是否是绝对路径取决于输入的文件名是绝对路径 如果对目录使用,则返回上级目录 basename命令与dirname相反,读取文 ...
- Flutter 强大的MediaQuery控件
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 MediaQuery 通常情况下,不会直接将MediaQu ...
- 深度强化学习(DRL)专栏(一)
目录: 1. 引言 专栏知识结构 从AlphaGo看深度强化学习 2. 强化学习基础知识 强化学习问题 马尔科夫决策过程 最优价值函数和贝尔曼方程 3. 有模型的强化学习方法 价值迭代 策略迭代 4. ...
- Selenium系列(十四) - Web UI 自动化基础实战(1)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- Ali_Cloud++:阿里云Centos配置iptables防火墙教程
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 1):检查iptab ...
- VRRP协议:Virtual Route
VRRP协议:Virtual Route Redundancy Protocol虚拟路由冗余协议.是一种容错协议,保证当主机的下一跳路由出现故障时,由另一台路由器来代替出现故障的路由器进行工作,从而 ...