【python基础语法】国庆扩展练习题
'''
一、国庆知识小拓展
1、 用户登陆程序需求:
1. 输入用户名和密码;
2. 判断用户名和密码是否正确? (name='root', password='123')
3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 提示错误次数过多,账号已被冻结; 2、给定一个句子(只包含字母和空格), 将句子中的单词位置反转
比如: “hello xiao mi” > “mi xiao hello” 3、运行程序,提示用户依次输入三个整数x,y,z,请把判断三个数的大小,然后由小到大打印输出到控制台。 4、 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多
少米?第10次反弹多高? 5、题目:猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃
了一个。以后每天早上都吃了前一天剩下的一半 在加一个。到第10天早上想再吃时,见只剩下一个桃子了。
请通过一段通过代码来计算第一条摘了多少个桃子? 6、题目:输入某年某月某日,判断这一天是这一年的第几天? 7、小明有100块钱 ,准备买100本书,a类数5元一本,b类书3元一本,c类书 1元2本。请计算小明有多少种购买的
方式? 8、题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时,高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 9、编写一个自动售货机,运行功能如下:
1、请按下面提示,选择购买的商品
1). 可乐 2.5元 2). 雪碧 2.5元 3). 哇哈哈 3元 4). 红牛 6元 5). 脉动 4元 6). 果粒橙 3.5元
2、提示用户投币(支持1元,5元,10元)
用户输入投币金额,
用户投币金额不够商品价格,继续提示投币,
当投币超过商品价格,则返回商品和找零,然后结束程序 ''' """
第一题:用户登陆程序需求:
1. 输入用户名和密码;
2. 判断用户名和密码是否正确? (name='root', password='123')
3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 提示错误次数过多,账号已被冻结;
"""
# 方式一
def user_login():
i = 0
while True:
user_name = input("请输入用户名:")
password = input("请输入密码:")
user_storage = {"name": "root", "password": ""}
if i < 3:
if user_name == user_storage["name"] and password == user_storage["password"]:
print("登录成功!")
break
else:
i += 1
print("您输入的账号或密码错误,请重新输入!")
else:
print("错误次数过多,账号已被冻结")
user_login() # 方式二
def user_login():
for i in range(1,4):
user_name = input("请输入用户名:")
pass_word = input("请输入密码:")
if user_name == 'root' and pass_word == "":
print("登录成功!")
break
else:
print("您输入的账号或者密码有误,您还有{}次输入计会".format(3-i))
else:
print('今日的三次机会已用完,错误次数过多,账号已被冻结')
user_login() """
第二题:
给定一个句子(只包含字母和空格)将句子中的单词位置反转,
比如: “hello xiao mi”> “mi xiao hello”
"""
def String_inversion():
str = "hello xiao mi"
# 字符串转换为列表,以空格作为分隔符
list = str.split(" ")
# 列表元素反转,不用
list.reverse()
# 将列表重新拼接为字符串
str1 = " ".join(list)
print(str1)
String_inversion() """
第三题:
运行程序,提示用户依次输入三个整数x,y,z,请把判断三个数的大小
,然后由小到大打印输出到控制台。
"""
def number_sort():
x = int(input("请输入第一个整数:"))
y = int(input("请输入第二个整数:"))
z = int(input("请输入第三个整数:"))
li = [x,y,z]
li.sort()
for num in li:
print(num)
number_sort() """
第四题:
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
"""
# 方法一:
def sum_high():
# 记录次数
i = 0
# 定义总距离
sum_high = 0
# 第一次下落高度
high = 100
while True:
if i < 11:
# 落下的距离 + 反弹的距离 + 经过的距离
sum_high = sum_high + high + high/2
# 反弹的距离
high = high/2
i += 1
else:
print("共经过{}米".format(sum_high - high))
print("第10次反弹{}米".format(high))
break
sum_high() # 方法二:
def sum_high():
# 定义总距离
sum_high = 0
# 第一次下落高度
high = 100
for i in range(10):
sum_high = sum_high + high + high/2
high = high/2
print("共经过{}米".format(sum_high - high))
print("第10次反弹{}米".format(high))
sum_high() """
第五题:
题目:猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,多吃了一个。
以后每天早上都吃了前一天剩下的一半 在加一个。
到第10天早上想再吃时,见只剩下一个桃子了。 请通过一段通过代码来计算第一条摘了多少个桃子?
"""
def Peach_quantity():
sum = 1
for i in range(10):
print("第{}天的桃子数量:{}".format(10 - i, sum))
sum = (sum + 1)*2
Peach_quantity() """
第六题
题目:输入某年某月某日,判断这一天是这一年的第几天?
"""
def work6():
str1 = input("请输入年月日:例 2019-9-29:")
# 获取年月日,转换位数值类型
year, month, day = str1.split('-')
year = int(year)
month = int(month)
day = int(day)
# 公历闰年判定遵循的规律为:四年一闰、百年不闰、400年再闰
# 判断是否位闰年(公历闰年的计算方法:普通年能被四整除且不能被100整除的为闰年)
if (year % 100 == 0 and year % 400 == 0) or (year % 100 != 0 and year % 4 == 0):
# 正常的年份
r_days = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]
data = r_days[month - 1] + day
else:
days = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
data = days[month- 1] + day
print('这个{}年的第{}天'.format(year,data))
work6() """
# 第七题
7、小明有100块钱 ,准备买100本书,
a类数5元一本,b类书3元一本,c类书 1元2本。
请计算小明有多少种购买的方式?
"""
def work7():
count = 0
for a in range(100 // 5 + 1):
for b in range(100 // 3 +1):
if a * 5 + b * 3 + (100 - a - b) * 0.5 <= 100:
count += 1
print(count)
work7() """
# 第八题
8、题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时,高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成, 从键盘输入当月利润I,求应发放奖金总数?
"""
def work8():
i = int(input("请输入当月利润:"))
if i <= 10:
salary = i * 0.1
print("应发放奖金总数为:{}万".format(salary))
elif i <= 20 and i > 10:
salary = 10 * 0.1 + (i-10)*0.075
print("应发放奖金总数为:{}万".format(salary))
elif i <= 40 and i > 20:
salary = 10 * 0.1 + 10 * 0.075 + (i - 20) * 0.05
print("应发放奖金总数为:{}万".format(salary))
elif i <= 60 and i > 40:
salary = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (i - 40) * 0.03
print("应发放奖金总数为:{}万".format(salary))
elif i <= 100 and i > 60:
salary = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (i - 60) * 0.015
print("应发放奖金总数为:{}万".format(salary))
else:
salary = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (i - 100) * 0.01
print("应发放奖金总数为:{}万".format(salary))
work8() """
# 第九题:
编写一个自动售货机,运行功能如下:
1、请按下面提示,选择购买的商品
1). 可乐 2.5元
2). 雪碧 2.5元
3). 哇哈哈 3元
4). 红牛 6元
5). 脉动 4元
6). 果粒橙 3.5元 2、提示用户投币(支持1元,5元,10元)
用户输入投币金额,
用户投币金额不够商品价格,继续提示投币,
当投币超过商品价格,则返回商品和找零,然后结束程序
"""
def work9():
print("请按下面提示选择购买的商品:")
print("1). 可乐 2.5元")
print("2). 雪碧 2.5元")
print("3). 哇哈哈 3元")
print("4). 红牛 6元")
print("5). 脉动 4元")
print("6). 果粒橙 3.5元")
num = input("请输入您的选项:")
if num == "":
print("您购买的是可乐,需要支付金额为2.5元")
price = 2.5
elif num == "":
print("您购买的是雪碧,需要支付金额为2.5元")
price = 2.5
elif num == "":
print("您购买的是哇哈哈,需要支付金额为3元")
price = 2.5
elif num == "":
print("您购买的是红牛,需要支付金额为6元")
price = 2.5
elif num == "":
print("您购买的是脉动,需要支付金额为4元")
price = 2.5
elif num == "":
print("您购买的是果粒橙,需要支付金额为3.5元")
price = 2.5
else:
print("您的输入有误!")
# 输入错误的情况下使用return终止函数的运行(退出程序)。
return
# 用户投币
money = 0
while money < price:
m = input("请输入投币金额【支持1元,5元,10元】:")
if m in ["", "", ""]:
money += int(m)
else:
print("您投币的金额有误或者不支持该面额")
else:
print("您的投币金额为{}元,商品的价格为{}元,找零{}元".format(money, price, (money - price)))
work9()
【python基础语法】国庆扩展练习题的更多相关文章
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
- Python基础语法题库
引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...
- python基础语法(一)
Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...
- Python基础语法(转)
作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/ Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...
- Python 基础语法_Python脚本文件结构
目录 目录 前言 软件环境 Python Script文件结构 导入模块的流程 Python的包package 最后 前言 Python基础语法这一章,主要记录了Python的文件结构.逻辑运算符.算 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
随机推荐
- tcpdump用法说明
tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包. 例如: ...
- Redhat6.7 切换Centos yum源
转自:http://inlhx.iteye.com/blog/2336729 RedHat 更换Yum源 1.检查yum包 rpm -qa |grep yum 2.删除自带包 rpm -aq | gr ...
- 令牌桶算法实现API限流
令牌桶算法( Token Bucket )和 Leaky Bucket 效果一样但方向相反的算法,更加容易理解.随着时间流逝,系统会按恒定 1/QPS 时间间隔(如果 QPS=100 ,则间隔是 10 ...
- 基于spring cloud OAuth2的微服务授权验证服务搭建的一些坑, 包括401,client_secret,invalid_scope等问题
一 先贴成功图,用的是springcloud Finchley.SR1版本,springboot版本2.0.6 问题一: 返回401, Unauthorized 出现这个问题原因很多:首先确保方法开启 ...
- ActiveMQ 快速入门教程系列 第二章 发布-订阅者模式实现
第二章我们会介绍怎样实现一个发布者对多个订阅者的消息传递 Topic和queue的最大区别在于topic是以广播的形式,通知所有在线监听的客户端有新的消息,没有监听的客户端将收不到消息:而queue则 ...
- 类加载之 <clinit>() 和 <init>()
前序文章:深入理解Java类加载 <clinit>() 与 <init>() 区别 一.<clinit>() Java 类加载的初始化过程中,编译器按语句在源文件中 ...
- 一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
一个支持高网络吞吐量.基于机器性能评分的TCP负载均衡器gobalan 作者最近用golang实现了一个TCP负载均衡器,灵感来自grpc.几个主要的特性就是: 支持高网络吞吐量 实现了基于机器性能评 ...
- (三)maven创建部署javaweb
http://how2j.cn/k/idea/idea-maven-web/1356.html#nowhere 这个网站讲的很详细了,下载很慢的话按照他的提示配置阿里云即可,很快 另外可能会出现各种j ...
- MongoDB疑难解析:为什么升级之后负载升高了?
本文是"我和MongoDB的故事"征文比赛的二等奖得主李鹏冲的文章.下面我们一起来欣赏下. 问题 近期线上一个三分片集群从 3.2 版本升级到 4.0 版本以后,集群节点的 CPU ...
- Golang内存模型
Ref: https://golang.org/ref/mem 简介 golang内存模型,主要说明了如下问题.在一个goroutine中读取变量,而该变量是由其他goroutine赋值的,这种情况下 ...