Python基础入门的一些小习题

1、判断输入的边长能否构成三角形,如果能则计算出三角形的周长和面积
length = float(input('请输入边长a(单位cm):'))
width = float(input('请输入边长b(单位cm):'))
hight = float(input('请输入边长c(单位cm):'))

if length + width > hight and length + hight  > width and  width+ hight  > length:
    zhouchang = length + width +hight

    print('三角形周长为:' +  str(zhouchang))
    p = (length + width +hight ) / 2
    S = p * (p - length) * (p - width) * (p - hight) * 0.5
    print('三角形面积为:' + str(S))
else:
    print('三边不构成三角形')
2、百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
a=0
for x in range(0, 21):
    for y in range(0, 34):
        z = 100 - x*5 - y*3 >0
        if 5 * x + 3 * y + z / 1 == 100:
            a+=1
            print('公鸡: %d只, 母鸡: %d只, 小鸡: %d只,总共买入方式: %d种' % (x, y, z*3,a))
3、正整数的反转
num = int(input('num = '))
reversed_num = 0
while num > 0:
    reversed_num = reversed_num * 10 + num % 10
    num //= 10
print(reversed_num)
4、找出所有水仙花数
   水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数,它是一个3位数,该数字每个位上数字的立方之和正好等于它本身,例如:$1^3 + 5^3+ 3^3=153$。

for num in range(100, 1000):
    low = num % 10
    mid = num // 10 % 10
    high = num // 100
    if num == low ** 3 + mid ** 3 + high ** 3:
        print(num)

5、打印三角形图案

*
**
***
****
*****
row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(i + 1):
        print('*', end='')
    print()
    *
   **
  ***
 ****
*****
row = int(input('请输入行数: '))
for i in range(row):
    for j in range(row):
        if j < row - i - 1:
            print(' ', end='')
        else:
            print('*', end='')
    print()
    *
   ***
  *****
 *******
*********
row = int(input('请输入行数: '))
for i in range(row):
    for _ in range(row - i - 1):
        print(' ', end='')
    for _ in range(2 * i + 1):
        print('*', end='')
    print()

6、输入一个正整数判断它是不是素数

from math import sqrt

num = int(input('请输入一个正整数: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print('%d是素数' % num)
else:
    print('%d不是素数' % num)

7、输入两个正整数计算它们的最大公约数和最小公倍数

        提示:两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数则是能够同时被两个数整除的最小的那个数。

x = int(input('x = '))
y = int(input('y = '))
# 如果x大于y就交换x和y的值
if x > y:
    # 通过下面的操作将y的值赋给x, 将x的值赋给y
    x, y = y, x
# 从两个数中较小的数开始做递减的循环
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
        break

8、 输出乘法口诀表(九九表)

for i in range(1,10):
    for j in range(1,i+1):
        print(j,str('*'),i,str('='),i*j,end='\t')
    print()

#(2)
for i in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%d'  % (i,j,i * j),end = '\t')
    print()

9、猜数字游戏

import random

suiji = random.randint(1,100)

shuzi = 0

while True:
    shuzi += 1
    caice = int(input('请输入你猜的数字:'))
    if shuzi > caice :
        print('猜大了')
    elif shuzi < caice :
        print('猜小了')
    else:
        print('恭喜你猜对了')
        break
print('你一共猜测了:'+str(caice)+'次')
if caice > 7:
    print('笨?')

#(2)
import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)
if counter > 7:
    print('你的智商余额明显不足')

你可能感兴趣的:(python,开发语言)