Python每日一练(20230321)

简介: Python每日一练(20230321)

1. 两个正整数之间的偶数和


输入起始和结束的正整数,求其两个正整数之间的偶数和。


出处:

https://edu.csdn.net/practice/23354422

代码:

x1 = input("请输入起始数:")
x2 = input("请输入结束数:")
a = int(x1)
b = int(x2)
sum1 = 0
for i in range(a, b+1):
    if i % 2 == 0:
        sum1 += i
        i += 2
    else:
        i += 1
sum2 = 0
for i in range(a+1, b):
    if i % 2 == 0:
        sum2 += i
        i += 2
    else:
        i += 1
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时算这两个边界)是:"+str(sum1))
print(str(a)+"到"+str(b)+"之间的偶数和(边界是偶数时不算两个边界)是:"+str(sum2))



输入输出:


请输入起始数:1

请输入结束数:8

1到8之间的偶数和(边界是偶数时算这两个边界)是:20

1到8之间的偶数和(边界是偶数时不算两个边界)是:12




2. 求列表的平衡点


对于一个整数列表,如果有一个切分位置使其前面的元素之和等于后面的元素之和,就称该位置是平衡点 请编写程序求列表(整数列表)的平衡点,不存在时给出提示。


思路:

1.确定一个位置


2.求在这个位置前面的元素之和,与在这个位置后面的元素之和,做比较,判断是否相等


2.1 怎么求前面元素之和: 假设这个位置是[i],那么前面元素就是[0]~[i-1], 后面元素为[i+1]~[len(list)-1] 进行求和:累加求和


2.2判断是否相等:相等,给出这个平衡位置;不相等,输出“该列表不存在平衡点”


出处:

https://edu.csdn.net/practice/23354423

代码:


a=input('请输入一个整数列表:').split(",")
flag=0
for i in range(0,len(a)-1):
    s1=0
    for m in range(0,i):
        s1+=int(a[m])
    s2=0
    for n in range(i+1,len(a)):
        s2+=int(a[n])
    if s1==s2:
        print('该整数列表存在平衡点,且平衡点为:',a[i])
        flag=1
        break
if flag==0:
    print('该整数列表不存在平衡点')


输入输出:

请输入一个整数列表:1,2,0,3

该整数列表存在平衡点,且平衡点为: 0


3. 分数到小数


给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。

如果小数部分为循环小数,则将循环的部分括在括号内。


如果存在多个答案,只需返回 任意一个 。


对于所有给定的输入,保证 答案字符串的长度小于 104 。


示例 1:

输入:numerator = 1, denominator = 2

输出:"0.5"


示例 2:

输入:numerator = 2, denominator = 1

输出:"2"


示例 3:

输入:numerator = 2, denominator = 3

输出:"0.(6)"


示例 4:

输入:numerator = 4, denominator = 333

输出:"0.(012)"


示例 5:

输入:numerator = 1, denominator = 5

输出:"0.2"


提示:

   -2^31 <= numerator, denominator <= 2^31 - 1

   denominator != 0


出处:

https://edu.csdn.net/practice/23354424

代码:

class Solution(object):
    def fractionToDecimal(self, numerator, denominator):
        if denominator == 0:
            raise ZeroDivisionError("integer division by zero")
        if numerator % denominator == 0:
            return str(numerator // denominator)
        if numerator < 0 and denominator < 0:
            numerator, denominator = -numerator, -denominator
        u = (numerator < 0) ^ (denominator < 0)
        numerator = abs(numerator)
        denominator = abs(denominator)
        numerator = numerator % denominator
        if numerator == 0:
            return str(numerator // denominator)
        s = str(abs(numerator) // denominator) + "."
        q = {}
        l = []
        while numerator < denominator:
            numerator = numerator * 10
            l.append(numerator)
            q[numerator] = numerator // denominator
        numerator = numerator % denominator * 10
        while numerator not in q and numerator != 0:
            l.append(numerator)
            q[numerator] = numerator // denominator
            numerator = numerator % denominator
            numerator = numerator * 10
        for i in range(0, len(l)):
            if numerator == l[i]:
                s = s + "("
            s = s + str(q[l[i]])
        if "(" in s:
            s = s + ")"
        if u:
            s = "-" + s
        return s
s = Solution()
print(s.fractionToDecimal(numerator = 1, denominator = 2))
print(s.fractionToDecimal(numerator = 2, denominator = 1))
print(s.fractionToDecimal(numerator = 2, denominator = 3))
print(s.fractionToDecimal(numerator = 4, denominator = 333))
print(s.fractionToDecimal(numerator = 1, denominator = 5))





输出:

0.5

2

0.(6)

0.(012)

0.2














目录
相关文章
|
Python 人工智能
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
247 1
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
|
Shell Unix Linux
Linux 终端命令之文件浏览(3) less
Linux 终端命令之文件浏览(3) less
173 0
Linux 终端命令之文件浏览(3) less
|
Rust
Rust 编程小技巧摘选(8)
Rust 编程小技巧摘选(8)
373 0
Rust 编程小技巧摘选(8)
|
算法 C++ 机器人
力扣 C++|一题多解之动态规划专题(1)
力扣 C++|一题多解之动态规划专题(1)
131 0
力扣 C++|一题多解之动态规划专题(1)
|
C++ Python 索引
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
187 0
Python Numpy入门基础(二)数组操作
|
C++ 存储
力扣C++|一题多解之数学题专场(1)
力扣C++|一题多解之数学题专场(1)
162 0
力扣C++|一题多解之数学题专场(1)
|
Java Go C++
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
167 0
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
|
Java Go C++
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
194 0
Golang每日一练(leetDay0114) 矩阵中的最长递增路径、按要求补齐数组
|
Java Go C++
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
174 0
Golang每日一练(leetDay0110) 零钱兑换I\II Coin Change
|
Java Go Rust
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II
163 0
Rust每日一练(Leetday0030) 合并有序数组、格雷编码、子集II

推荐镜像

更多