python基础14题(入门必看)

文章目录

  • 前言
  • (一)基础题
    • 1. 打印及格与不及格
    • 2. 打印成年或者不成年(0-150)
    • 3. 输入两个整数,相减为奇数则输,否则提示不是奇数。
    • 4. 用for 循环输出0-100的奇数
    • 5. 用while语句输出0-100内的偶数
  • (二)折纸对高度问题
  • (三)求斐波那契数列问题
  • (四)求素数问题
  • (五)百马百担问题
  • (六)进阶基础题
    • 1.使用循环计算0-100 的结果
    • 2.统计100以内个数是二,且能被3 整除的个数
    • 3. 输入一个正整数,判断它是几位数。
    • 4. 打印水仙花数
    • 5.写一个程序可以不断输入数字,如果是0,则打印结束。

前言

大家好啊,我是苏凉!!爬虫系列的文章基本到这里告一段落,后续再给大家更新。今天我们来看一下python中的那些基础程序题,看完之后相信刚入门的小伙伴会有一个质的提升!!

(一)基础题

1. 打印及格与不及格

score =  float(input("请输入你的成绩:"))
if score >=60:
    print("及格")
else:
    print("不及格")

2. 打印成年或者不成年(0-150)

age = int(input("请输入你的年龄:"))
if 0<=age<=18:
    print("未成年!!")
elif 18<age<=150:
    print("你已成年!!")
else:
    print("太逆天了")

3. 输入两个整数,相减为奇数则输,否则提示不是奇数。

num1 = int(input("请输入你的第一个整数:"))
num2 = int(input("请输入你的第二个整数:"))
if num1<num2:
    a = num2-num1
else:
    a = num1-num2
print(a)
if a%2 == 1:
    print(a)
else:
    print("这不是奇数")

4. 用for 循环输出0-100的奇数

for i in range(0,101):
    if i%2 == 1:
        print("{}是奇数!".format(i))
    else:
        print("{}是偶数".format(i))

5. 用while语句输出0-100内的偶数

i = 0
while i <= 100:
    if i %2 == 0:
        print(i)
    else:
        print("{}是奇数".format(i))
    i += 1

(二)折纸对高度问题

题目:一张纸厚度0.08mm , 对折多少次可以达到珠穆朗玛峰高度8848.13.

height = 0.08/1000
count = 0
while True:
    height *= 2
    count += 1
    if height>= 8848.13:
        break
print(count)

(三)求斐波那契数列问题

问题:求斐波那契额数列:斐波那契数列就是后面一个数等于前一个数加上前一个数的前一个数 如:1,1,2,3,5,8,13,21,34,55,89,144…

n = int(input('请输入第几个斐波那契数列:'))
num1 = 1
num2 = 1
# 第三个换1次
# 第四个换2次
# 第五个换3次
# 第n个换n-1次
# a = num1
# num1 = num2
# num2 = a + num2
for i in range(0,n- 2):
    a = num1
    num1=num2
    num2= a + num2
print(num2)

(四)求素数问题

题目:求101-200 的素数 (又叫质数 ,除1 和它本身整除)

解法1:

for i in range(101,201):
    for j in range (2,int(i**0.5)+1):
        if i%j ==0:
            break
    else:   #for ..else 语句中 当循环里的break没有被执行的时候就执行else。
        print(i,'是质数')

解法2:用假设检验法求2-100的素数

for i in range(101,201):
    flag = True
    for j in range(2,int(i**0.5)+1):
        if i % j == 0:
            flag = False
            break
    if flag == True:
        print(i,'是质数!!')

解法3:使用计数法求素数

for i in range(2,101):
    count = 0
    for j in range(2,i):
        if i%j == 0:
            count += 1
    if count == 0:
        print(i,'是质数')
    else:
        print(i,'是合数,且能被',count,'个数整除')

(五)百马百担问题

问题:现有100匹马和100担,大马挑3担 ,中马挑2担, 2小马挑1担,请问有多少种方法使得物尽其用?

count =0
for x in range(0,100//3+1):
    for y in range(0,100//2+1):
        z = 100 - x - y
        if 3*x + 2*y + 0.5*z == 100 :
            count= count+1
            print('大马:'+ str(x)  ,'中马:' +str(y) , '小马:'+str(z))
print('共有' + str(count) + '种匹配方法')

运行结果:

python基础14题(入门必看)_第1张图片

(六)进阶基础题

1.使用循环计算0-100 的结果

while循环

i = 0
j = 0
while i<100:
    i += 1
    j += i
print(j)

for循环

x = 0
for i in range(0,101):
    x += i
print(x)

2.统计100以内个数是二,且能被3 整除的个数

num = 0
for i in range (0,100):
    if i % 10 == 2:
        if i % 3 == 0:
            num += 1
            print(i)
print("满足条件的数字个数为{}个".format(num))

3. 输入一个正整数,判断它是几位数。

num = int(input("请输入一个正整数:"))
x = 0
while True:
    x += 1
    num //= 10
    # print(num)
    if num == 0:
        break
print("这是{}位数".format(x))

4. 打印水仙花数

( 水仙花数是一个三位数 eg :153 = 13+53+3*3)

for i in range(100,1000):
    x = i%10            #45.6   个位数为i除10 取余数
    y = i //10 %10    #456//10 =45 %10 = 5
    z = i //100
    if i == x**3 + y**3 +z**3:
        print(i )

5.写一个程序可以不断输入数字,如果是0,则打印结束。

while True:
    a = input("请输入一个内容:")
    if a == "0":
        print("程序结束")
        break

好啦!今天的学习到这里就结束了,希望看到这篇文章的小伙伴们能有所收获!记得三连呀!!!

你可能感兴趣的:(笔记,python)