Python|Python编程题每日一练day1(附答案)

【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

结束语
非常好用的一个刷题网站!大家一起努力!加油!!!
题目难度可以自行选择
在线编程出答案,(也可自行查看答案)非常方便
程序员刷题神器网站点击链接注册即可刷题

    推荐阅读