利用python打印各种图形

这篇文章展示了使用Python进行图形打印的各种示例,包括直角三角形、等腰三角形、倒等腰三角形和实心菱形。此外,还涵盖了判断质数、数字规律和数学问题的解决方案,如菱形的空心打印、判断数的整除性以及鸡兔同笼问题等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打印直角三角(每行星星个数为奇数)

*
***
*****
*******
*********

'''
*
**
***
****
*****
'''
a = int(input("请输入三角形的行数:"))
index = 0  #外层循环变量,控制三角形行数
while index < a :
    j = 0  #内层循环,控制三角形每行星星的个数
    while j < 2*index + 1 :
        print('*',end = ' ')
        j += 1 #每每满足内层循环条件,个数加1
    print()
    index += 1 #每次满足外层循环条件,行数加1

输出结果:

2.   

    *        
   **        
  ***        
 ****
*****

直接上代码

a = int(input("请输入三角形的行数:"))
i = 0
while i < a :
    j = a - i
    while j > 0 :
        print(' ',end = '')
        j -= 1
    i += 1
    print('*'*i)

输出结果为:

3.等腰三角形

    *
   ***
  *****
 ******* 

a = int(input("请输入三角形的行数:"))
i = 0
while i < a :
    j = a - i
    while j > 0 :
        print(' ',end = '')
        j -= 1
    i += 1
    print('*'*(2*i-1))

输出结果:

 4.倒等腰三角形

*******
 *****
  ***
   *

a = int(input("请输入三角形的行数:"))
for i in range(a,0,-1):  #控制行数
    j = a - i       
    k = 2*i - 1
    print(' '*j + '*'*k)

输出结果:

5.实心菱形

   *
  ***
 *****

*******
 *****
  ***
   *

可以根据曼哈顿距离来实现菱形打印,非常简便

何为曼哈顿距离:

例如,在平面上,坐标(x1,y1)的i点与坐标(x2,y2)的j点的曼哈顿距离为:

d(i,j)=|X1-X2|+|Y1-Y2|.

a = int(input("请输出菱形的行数:"))
cx = int(a / 2)
for i in range(0,a):
    for j in range(0,a):
        if abs(i - cx) + abs(j - cx) <= cx :
            print('*',end = '')
        else :
            print(' ',end = '')
    print()

结果输出:

 6.空心菱形打印


   *
  * *
 *   *
*     *
 *   *
  * *
   *

a = int(input("请输出菱形的行数:"))
cx = int(a / 2)
for i in range(0,a):
    for j in range(0,a):
        if abs(i - cx) + abs(j - cx) == cx :
            print('*',end = '')
        else :
            print(' ',end = '')
    print()

结果输出:

 7.

8.判断一个数是否是质数(素数)

import math


a = int(input("请输入一个数:"))
for i in range(2,a):
    if a % i == 0:
        print(a,"不是质数")
        break
else:
    print(a,"是质数")

9.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

lt =[]
for i in range(1000,10000):
    if int(i/100)%10 == 3 and int(i/10)%10 == 6:
        if i % 2 == 0 and i % 3 == 0:
            while i != 0:
                lt.append(i)
                print(max(lt))
                print(min(lt))
                break

10.编程求一个四位自然数ABCD,它乘以A后变成DCBA

for i in range(1000,10000):
    a = int(i/1000)%10
    b = int(i/100)%10
    c = int(i/10)%10
    d = i % 10
    num = d * 1000 + c * 100 + b * 10 + a
    if i * a == num :
        print(i)

11.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

a = eval(input("请输入一个数:"))
b = eval(input("请输入一个数:"))
if a % b == 0 or a + b > 1000 :
    print(a)
else :
    print(b)

12.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

a = eval(input("请输入一个数:"))
if a % 2 == 0 :
    for i in range(1,a+1):
        if i % 3 == 0 :
            print(i)
else :
    for i in range(1,a+1):
        if i % 5 == 0 :
            print(i)

13.输入三边的长度,求三角形的面积和周长(海伦公式)

import math

a = eval(input("请输入三角形的边长:"))
b = eval(input("请输入三角形的边长:"))
c = eval(input("请输入三角形的边长:"))
p = (a+b+c) / 2
s = math.sqrt(p * (p - a) * (p - b) * (p - c))
d = p * 2
print(s)
print(d)

14.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

tn = eval(input("请输入您要购买的T恤的数量:"))
kn = eval(input("请输入您要购买的裤子的数量:"))

if tn == 1 :
    tm = 35
elif tn == 2 :
    tm = 35 * 0.9
else :
    tm = 35 * 0.8
if kn >= 2:
    km = 120 * 0.9
else :
    km = 120
print(tm + km)

15.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

for i in range(1,23):
    y = 35 - i
    if 4 * i + 2 * y == 94 :
        print('兔子有%s只,鸡有%s只'%(i,y))

16.猜数字游戏(使用random模块完成)
    电脑随机一个范围内的数,用户输入数据判断,
    如果数大了,提供”数大了“
    成功之后,加上用户是否继续功能

import random

computer = random.randint(0,50)
while True:
    my_guess = eval(input("请输入你要猜的数:"))
    if my_guess > computer :
        print("树大了")
    elif my_guess < computer:
        print("数小了")
    else :
        print("猜对了")
        a = input("请输入Y/N,选择是否继续")
        if a == 'Y' :
            continue
        else :
            break
print("game over!")

17.猜拳游戏:石头、剪刀、布的游戏

a = input("您想猜石头、剪刀还是布,请输入:")
b = input("您想猜石头、剪刀还是布,请输入:")
if a == "shitou":
    if b == "shitou":
        print("平局!")
    elif b == "bu" :
        print("你输了")
    else :
        print("你赢了")
if a == "bu":
    if b == "bu":
        print("平局")
    elif b == "shitou" :
        print("你输了")
    else :
        print("你赢了")
if a == "jiandao" :
    if b == "jiandao" :
        print("平局")
    elif b == "bu":
        print("你输了")
    else :
        print("你赢了")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值