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