【Python|Python编程题每日一练day1(附答案)】
Python编程题每日一练day1
- 题目一: 游乐园的门票
- 题目二:寻找被污染的字符串
- 题目三:实现计算求最大公约数和最小公倍数的函数。
- 题目四:实现判断一个数是不是素数的函数。
- 题目五:输入两个正整数,计算最大公约数和最小公倍数。
-
- 结束语
提高编程能力的最有效办法就是敲代码
?作者简介:大家好我是编程ID题目一: 游乐园的门票 问题描述:
个人主页:编程ID的csdn博客
系列专栏:软件工程
推荐一款编程题刷题神器点击跳转进入网站
某游乐园院按照游客身高段收取票价:不到 1.0米 的游客免费; 1.0~1.2 米的游客为 80 元;超过 1.2 米的游客为 150 元。
请编写一个死循环,每次循环开始先使用print()语句一行输出字符串"Please tell me your height!\nEnter ‘quit’ to end the program."。
如果读取到的字符串等于’quit’,则使用 break 语句退出循环;
否则将字符串转成浮点数,如果小于1.0米,则使用print()语句一行输出字符串’Your admission cost is 0 yuan.‘,
如果大于等于1.0米且小于等于1.2米,则使用print()语句一行输出字符串’Your admission cost is 80 yuan.’,
如果大于1.2米,则使用print()语句一行输出字符串’Your admission cost is 150 yuan.‘,
然后本次循环结束,再次进入 while 循环中的条件测试。
输入描述:
保证每一行的输入只有浮点数或字符串’quit’,且保证数字合法,范围在[0, 3]。
输出描述:
按题目描述进行输出即可。
示例1
输入:
0.5
1.2
quit
答案:
解法一
while True:
try:
print("Please tell me your height!\nEnter 'quit' to end the program.")
a = input()
if a == 'quit':
break
elif float(a) < 1.0:
print('Your admission cost is 0 yuan.')
elif 1.0 < float(a) <= 1.2:
print('Your admission cost is 80 yuan.')
else:
print('Your admission cost is 150 yuan.')
except:
break
解法二
operators_dict = {'<': 'less than','==': 'equal'}
print('Here is the original dict:')for k in sorted(operators_dict):
print(f'Operator {k} means {operators_dict[k]}.')
print()operators_dict['>'] ='greater than'
print('The dict was changed to:')for k in sorted(operators_dict):
print(f'Operator {k} means {operators_dict[k]}.')
题目二:寻找被污染的字符串 小明有一份字符串my_str = ‘I am$ N i u n i u iuniu iuniu, an$d Ia m s t u am stu amstudying inN o w Now Nowcoder!’ 被污染了,其中出现了很多奇怪的 符 号 。 现 请 你 使 用 s p l i t 函 数 将 这 份 字 符 串 从 符 号 符号。 现请你使用split函数将这份字符串从符号 符号。现请你使用split函数将这份字符串从符号处分割成众多字符列表,记录在my_list中,并使用print函数直接打印my_list中的结果。
然后再使用join函数将my_list中的分段字符串重新连接成一个新的字符串,并使用print函数输出。
解法一
my_str = 'I am$ N$iuniu$, an$d I $am stu$dying in $Now$coder!'
my_list=my_str.split('$')
print(my_list)
my_str_new=''.join(my_list)
print(my_str_new)
解法二
a = ("I am$ N$iuniu$, an$d I $am stu$dying in $Now$coder!").split("$");
print(a)
print("".join(a))
题目三:实现计算求最大公约数和最小公倍数的函数。 答案:
def gcd(x, y):
(x, y) = (y, x) if x > y else (x, y)
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
return factor
def lcm(x, y):
return x * y // gcd(x, y)
题目四:实现判断一个数是不是素数的函数。
def is_prime(num):
for factor in range(2, num):
if num % factor == 0:
return False
return True if num != 1 else False
题目五:输入两个正整数,计算最大公约数和最小公倍数。
"""
输入两个正整数计算最大公约数和最小公倍数Version: 0.1
Author: 编程ID
Date: 2022-06-14
"""x = int(input('x = '))
y = int(input('y = '))
if x > y:
x, y = y, x
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d和%d的最大公约数是%d' % (x, y, factor))
print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
break
结束语
非常好用的一个刷题网站!大家一起努力!加油!!!
题目难度可以自行选择
在线编程出答案,(也可自行查看答案)非常方便
程序员刷题神器网站点击链接注册即可刷题
推荐阅读
- Python概述环境准备Python起步数据类型概述
- Java小案例|Java小案例(台灯类Lamp,有开关on这个方法...)
- python从入门到实战|【Python编程】一、Python安装(Linux/Windows)与简介
- java|lamda表达式是啥(是如何来的呢?如何快速理解lamda表达式)
- 笔记|Python基础(三)推导式
- 合并2个PDF,1行Python代码就够了。
- 软件测试|接口测试之Fiddler抓包,定位接口测试问题详细教程
- java面试题|Java面试题(2022全面复习java)
- #|毕业季礼物——小小海龟实现(Python)