当前位置:实例文章 » Python实例» [文章]Python每日一练(20230321)

Python每日一练(20230321)

发布人:shili8 发布时间:2023-03-22 01:09 阅读次数:19

目录

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

2. 求列表的平衡点??🌟🌟

3. 分数到小数??🌟🌟

🌟 每日一练刷题专栏?🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


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

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

出处:

/caseinfo/link/7281b141e5284dcaa930036a38e1ca59

代码:

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判断是否相等:相等,给出这个平衡位置;不相等,输出“该列表不存在平衡点”

出处:

/caseinfo/link/00947c91acb541e5adb168efb756ad33

?代码:

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

出处:

/caseinfo/link/83f835aa491e4e4590291c343dce9e5c

?代码:

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


🌟 每日一练刷题专栏?🌟

? 持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力!?

🌟?收藏,你的青睐是我努力的方向!?

? 评论,你的意见是我进步的财富!??

?

Golang每日一练 专栏

?

Python每日一练 专栏

?

C/C++每日一练 专栏

?

Java每日一练 专栏

相关标签:

免责声明

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱290110527@qq.com删除。

其他信息

其他资源

Top