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("你赢了")