-
判断101-200之间有多少个素数,并输出所有素数。
count = 0 for num in range(101, 201): for i in range(2, num): if num % i == 0: count += 1 break else: print(num, end=' ') print(100 - count)
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum1 = 0 for i in range(1, 101): if i % 10 == 3: continue sum1 += i print(sum1)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
a = 2
b = 1
for i in range(19):
a, b = a + b, a
print('{}/{}'.format(a, b))
-
写程序计算 n 的阶乘 n! 的结果
n = int(input('请输入数字n:')) for i in range(n - 1, 0, -1): n *= i print(n)
-
求1+2!+3!+…+20!的和
n = 1 sum1 = 0 for i in range(1, 21): n = i*n sum1 += n print(sum1)
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
a = input('请输入数字a的值:') n = int(input('请输入数字n的值:')) sum1 = 0 sum2 = 0 for i in range(1, n + 1): if 1 <= int(a) <= 9: sum1 = int(a * i) sum2 += sum1 print(sum1, end='+') print(sum1, end='=') print(sum2)
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * # 代码如下: n = int(input('请输入n值:')) for i in range(n, 0, -1): print('*' * i) b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* # 代码如下: n = int(input('请输入n值:')) for i in range(1, n - 1): print(' ' * (n - i) + '*' * (2 * i - 1)) c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
total = 100
for i in range(7): # i表示洗发水
for j in range(50): # j表示香皂
t = total - i * 15 - j * 2 # t表示牙刷
print(‘洗发水{}瓶,香皂{}个,牙刷{}支’.format(i, j, t))
9. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
```python
n = 0.08 / 1000 # 纸张厚度
h = 8848.13 # 珠穆朗玛峰的高度
count = 0 # 折叠次数
while n < h:
n *= 2
count += 1
print(count)
- 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
n_2 = 1
n_1 = 1
n = 6
if n == 1 or n == 2:
print('第', n, '个月兔子总数为:1')
else:
for _ in range(n-3):
n_1, n_2 = n_1 + n_2, n_1
print('第', n, '个月兔子总数为:', n_1+n_2)
- 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
num = 90
x = 2
while True:
if num % x == 0:
num /= x
print(x, end='')
if num != 1:
print('x', end='')
else:
x += 1
if num == 1:
break
print()
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
n = int(input('请输入四位整数:')) sum1 = 0 units = n % 10 # 个位 tens = n // 10 % 10 # 十位 hundreds = n // 100 % 10 # 百位 Kilobits = n // 1000 # 千位 while True: units = (units + 5) % 10 tens = (tens + 5) % 10 hundreds = (hundreds + 5) % 10 Kilobits = (Kilobits + 5) % 10 units, Kilobits = Kilobits, units # 个位和千位交换 tens, hundreds = hundreds, tens # 十位和百位交换 break print('{}{}{}{}'.format(Kilobits, hundreds, tens, units))
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
year = 5
capital = 10000
current_year = 1
while True:
capital *= 1+0.003
current_year += 1
if current_year > 5:
break
print(capital)
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num = int(input('请输入一个整数: ')) sum = 0 while True: sum += num % 10 num //= 10 if num == 0: break print('各位数字之和为:', sum)
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
# 方法1:
a = int(input('请输入数字a的值:'))
b = int(input('请输入数字b的值:'))
a1 = a
b1 = b
while a != b:
if a > b:
a -= b
else:
b -= a
print('最小公倍数数是:', (a1 * b1) / a)
print('最大公约数是:', a)
# 方法2
num1 = 18
num2 = 15
# 保证num1保存两个数中较小的数,num2中保存两个数中较大的数
if num1 > num2:
num1, num2 = num2, num1
# 最大公约数
max_common_divisor = num1
while True:
if num1 % max_common_divisor == 0 and num2 % max_common_divisor == 0:
break
else:
max_common_divisor -= 1
print('最大公约数:', max_common_divisor)
# 最小公倍数
min_common_multiple = num2
multiple = 1 # 倍数
while True:
if min_common_multiple % num1 == 0:
break
multiple += 1
min_common_multiple = num2 * multiple
print('最小公倍数:', min_common_multiple)