判断101-200之间有多少个素数,并输出所有素数。
count = 0
for num in range(101, 200):
num1 = int(num ** 0.5 +1)
for i in range(2, num1):
if num % i == 0:
break
else:
count += 1
print(count)
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum = 0
for i in range(1, 101):
if i % 10 != 3:
sum += i
print(sum)
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数
denominator1 = 1
denominator2 = 2
molecule1 = 2
molecule2 = 3
for i in range(3, 20):
molecule2 = molecule1 + molecule2
denominator2 = denominator1 + denominator2
molecule1 = molecule2 - molecule1
denominator1 = denominator2 - denominator1
print(molecule2, "/", denominator2)
print("第二十个分数为:", molecule2, "/", denominator2)
写程序计算 n 的阶乘 n! 的结果
n = int(input("请输入n:"))
result = 1
for i in range(1, n+1):
result *= i
print(result)
求1+2!+3!+...+20!的和
sum = 0
for n in range(1, 21):
result = 1
for i in range(1, n+1):
result *= i
print(result)
sum += result
print(sum)
写程序求表达式 a + aa + aaa + aaaa+ ... 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
a = 3
n = 5
sum = 0
for i in range(1, n+1):
number = str(a) * i
print(number)
sum += int(number)
print(sum)
控制台输出三角形
a.根据n的值的不同,输出相应的形状
n = 5时 n = 4
***** ****
**** ***
*** **
** *
*
b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7
* *
*** ***
***** *****
*******
c. 根据n的值的不同,输出相应的形状
n = 4
1
121
12321
1234321
n = 5
1
121
12321
1234321
123454321
n = int(input("请输入n:"))
for i in range(n, 0, -1):
print("{}".format("*" * i))
n = int(input("请输入一个奇数:"))
for i in range(1, n+1, 2):
print(" " * (int((n-i)/2)), end="")
print("*" * i)
n = 5 # 这里是输出总行数
for i in range(1, n + 1):
print(" " * (n - i), end="") # 前面加空格,不用考虑后面也要加
for j in range(1, i + 1):
print(j, end="")
if i > 1:
for k in range(i - 1, 0, -1):
print(k, end="")
print()
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
# 超市买东西,有些东西可以不买
shampoo = 15
soap = 2
toothbrush = 5
for i in range(50):
for j in range(50):
for k in range(50):
if i * shampoo + j * soap + k * toothbrush == 100:
print("洗发水:{},香皂:{},牙刷:{}".format(i, j, k))
print("_____________________分割线_____________________")
# 每样最少有一个
shampoo = 15
soap = 2
toothbrush = 5
for i in range(1, 50):
for j in range(1, 50):
for k in range(1, 50):
if i * shampoo + j * soap + k * toothbrush == 100:
print("洗发水:{},香皂:{},牙刷:{}".format(i, j, k))
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
initial_value = 0.00008
count = 0
while True:
height = initial_value * 2 ** count
if height >= 8848.13:
print("对折了{}次,高度为{}".format(count, height))
break
else:
count += 1
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
sum = 1
q1, q2 = 1, 1
for i in range(1, 24):
if i == 1 or i == 2:
print("第{}月,兔子总数为{}".format(i, sum * 2))
else:
q1 = sum
sum = q1 + q2
q2 = q1
print("第{}月,兔子总数为{}".format(i, sum * 2))
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
n = int(input("请输入一个正整数:"))
number_initial = n
prime_list = []
while n != 1:
for i in range(2, int(n+1)):
if n % i == 0:
prime_list.append(str(i))
n = n/i
if n == 1:
break
print("{}={}".format(number_initial, "*".join(prime_list)))
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
def function(number):
return (number + 5) % 10
phone_number = int(input("请输入四位整数:"))
number_one = phone_number // 1000
number_two = phone_number % 1000 // 100
number_three = phone_number // 10 % 10
number_four = phone_number % 10
new_one = function(number_four)
new_two = function(number_three)
new_three = function(number_two)
new_four = function(number_one)
new_number_phone = str(new_one) + str(new_two) +str(new_three) + str(new_four)
print(new_number_phone)
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
principal = 10000
for i in range(1, 6):
interests = principal * (3/1000)
principal = principal + interests
print(principal)
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
number = input("请输入一个正整数:")
sum = 0
for i in number:
sum += int(i)
print(sum)
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
# 最大公约数
num1 = int(input("请输入一个数:"))
num2 = int(input("请输入另外一个数:"))
# 判断num1与num2的大小
if num1 > num2:
# 获取最小值
min_number = num2
else:
# 获取最小值
min_number = num1
for i in range(1, min_number+1):
# 满足公因数的条件:
if (num1 % i == 0) and (num2 % i == 0):
c = i
print('这两个数的最大公约数是:%d ' % c)
# 最小公倍数
def lcm(x, y):
if x > y:
bigger = x
else :
bigger = y
while True:
if bigger % x == 0 and bigger % y == 0:
lcm = bigger
break
else:
bigger += 1
return lcm
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print(num1, "和", num2, "的最小公倍数为:", lcm(num1, num2))