基础题
-
依次输入两个整数,如果两个数相减的结果为奇数则输出该结果,否则输出提示信息
结果不是奇数
。
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
num3 = num1 - num2
if num3 % 2 != 0:
print(num3)
else:
print("结果不是奇数")
-
使用for循环输出 0到100内所有的奇数。
for i in range(1, 101,2):
print(i)
-
使用while循环输出0到100内所有的偶数。
自己的办法:
num = 0
while num <= 100:
if num % 2 == 0:
print(num)
num += 1
老师的办法:
num=0
while num<=100:
print(num)
num+=2
-
3000米长的绳子, 每天减一半, 问多少天后这个绳子会小于5米 【不考虑小数】
count=0
i=3000
while i >=5:
count+=1
i/=2
print(count)
-
输出1到100中能被3整除 or 个位为3的数
自己的办法:
num = 1
while num <= 100:
if num % 3 == 0 or num % 10 == 3:
print(num)
num += 1
老师的办法:
for i in range(1,101):
if i % 3 ==0 or i % 10 ==3:
print(i)
进阶题
-
统计100以内个位数是2并且能够被3整除的数的个数。
count=0
for i in range(0,101):
if i % 10 ==2 and i % 3==0:
count+=1
print(count)
-
输入任意一个正整数,求它是几位数。
注意:不允许使用判断字符串长度的方式来求解。
num = 12345
count = 0
while num:
num //= 10
count += 1
print(count)
-
打印所有的水仙花数。
说明:水仙花数是一个三位数,其各位数字⽴方和等于该数本身。
例如:153是⽔仙花数,因为
153 = 1³ + 5³ + 3³
。
for i in range(100, 1000):
if (i // 100) ** 3 + (i // 10 % 10) ** 3 + (i % 10) ** 3 == i:
print(i,"是水仙花数")
-
写一个程序可以不断的输入数字,如果输入的数字是0,打印
程序结束
后结束该程序。
运行效果: 请输入数字: 9 请输入数字: 762 请输入数字: 18 请输入数字: 0 程序结束
while True:
num = int(input("请输入一个数字:"))
if num == 0:
print("> 程序结束")
break
挑战题(选做)
-
统计101~200中素数的个数,并且输出所有的素数。(素数又叫质数,就是只能被1和它本身整除的数)
自己的办法:
for num in range(101,201):
i = 2
while num > i:
if num % i == 0:
break
i += 1
else:
print(num)
老师的办法:
count = 0
for n in range(101, 201):
for i in range(2, n):
if n % i == 0:
break
else:
print(n, "是素数")
count += 1
-
求斐波那契数列中第n个数的值,n是正整数。n值由控制台输入
说明:斐波那契数列是这样的一个数列:1、1、2、3、5、8、13、21、34、.... ,第一个数和第二个数是1,从第三个数开始每个元素是前两个元素相加的和。
n = int(input("请输入获取第几个数字:"))
if n <= 2:
print(1)
else:
a = 1 # 表示第一个数字
b = 1 # 表示第二字数字
for i in range(3, n + 1):
c = a + b # c表示前面两个数的和
a = b
b = c
print(c, end="")
print()
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
count = 0
i = 0.08
while i <= 8848130:
count += 1
i *= 2
print(count)
-
"百马百担"问题:一匹大马能驮3担货,一匹中马能驮2担货,两匹小马能驮1担货,如果用一百匹马驮一百担货,问有大、中、小马各几匹?
提示:穷举法。
for i in range(34): # 表示大马
for j in range(50): # 表示中马
k = 100 - i - j # 表示小马数量
if i * 3 + j * 2 + k * 0.5 == 100:
print(i, j, k)