目录
3、设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)
4、有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
6、用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
7、请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
8、某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
9、鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
10、猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断, 如果数大了,提供”数大了“ 成功之后,加上用户是否继续功能
1、打印图案
(1)直角三角形
#多层循环
layer = int(input("请输入您要打印的层数: "))
index = 1
while index <= layer : #外层循环控制层数
j = 1
while j <= index : #内层循环控制每层个数
print ("*",end = "")
j += 1
print()
index += 1
(2)九九乘法表
layer = 9
index = 1
while index <= layer:
j = 1
while j <= index:
print(f'{j}*{index}={j*index}',end=" ")#或者end="\t"
j+=1
print()
index += 1
(3)胖三角形
layer = int(input("输入层数 "))
#rang(layer):
for i in range(1, layer + 1):
#保证层数可选,例如输入第一层的话 i=1 (1,2)1可选,2不可选
for j in range(1, 2*i): #内层循环控制个数,每行个数为2倍行数-1
print("*",end="")
print()
(4)反直角三角形
#反直角三角形
layer = int(input("层数: "))
for i in range(layer) : #(1,layer+1)
for j in range(layer-i-1,0,-1): #(layer - i)
print (" ",end="")
for k in range(0,i+1,1): #(i)
print ("*",end="")
print()
#第二种方法
for i range(layer):
print(" " * (layer -i - 1),end "")
print("*" * (i+1))
(6)等腰三角形
layer =int(input("层数:"))
#第一种方法
for i in range(1,layer+1):
for j in range(layer - i):
print(" ",end="")
for j in range(2 * i - 1):
print("*",end = "")
print()
#第二种方法
for i in range(1,layer+1):
print(" " * (layer - i),end="")
print("*" * (2 * i - 1))
(7)倒立等腰三角
#饭等腰三角形
layer = int(input("层数:"))
#第一种
for i in range(layer) :
for j in range (0,i):
print(" ",end="")
for k in range(2*(layer-1-i)+1,0,-1):
print("*",end="")
print()
#第二种
for i in range(1,layer+1):
print(" " * (i-1),end="")
print("*" * (2*(layer-i)+1))
#第三种
for i in range(layer,0,-1):
print(" " * (layer - i),end="")
print("*" * (2 * i - 1))
(8)菱形
#实心菱形
layer = int(input("层数: "))
#判断输出是否有误,灵活运用
while layer % 2== 0:
layer = int(input("对不起,请输入奇数行: "))
#上半部分
for i in range(1,layer//2+1+1):
print(" " * (layer - i),end="")
print("*" * (2 * i - 1))
#下半部分
for i in range(layer//2,0,-1):
print(" " * (layer - i),end="")
print("*" * (2 * i - 1))
(9)空心菱形
#kong心菱形
layer = int(input("层数: "))
#判断输出是否有误,灵活运用
while layer % 2== 0:
layer = int(input("对不起,请输入奇数行: "))
#上半部分
for i in range(1,layer//2+2):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
#判断第一个和最后一个
if j == 0 or j == 2*i -2:
print("*",end="")
else:
print(" ",end="")
print()
#下半部分
for i in range(layer//2,0,-1): #跟上面反过来就可以,上面多一行,下面少一行
print(" " * (layer - i),end="")
for j in range (2*i-1):
if j == 0 or j== 2*i-2:
print("*",end="")
else:
print(" ",end="")
print()
(10)对角线菱形(风筝)
#对角线菱形
layer = int(input("层数: "))
#判断输出是否有误,灵活运用
while layer % 2== 0:
layer = int(input("对不起,请输入奇数行: "))
#上半部分
for i in range(1,layer//2+2):
print(" " * (layer - i),end="")
for j in range(2 * i - 1):
#判断第一个和最后一个
if j == 0 or j == 2*i -2 or i == layer//2+1 or j == i-1:
print("*",end="")
else:
print(" ",end="")
print()
#下半部分
for i in range(layer//2,0,-1): #跟上面反过来就可以,上面多一行,下面少一行
print(" " * (layer - i),end="")
for j in range (2*i-1):
if j == 0 or j== 2*i-2 or j== i-1:
print("*",end="")
else:
print(" ",end="")
print()
2、判断一个数是否是质数(素数)
prime = int(input("任意一个数: "))
flag = True
for i in range(2,prime):
if prime % i == 0:
flag = False #表示一种标识符,如果整出来,它就变错
break
if flag:
print("是质数")
else:
print("不是")
3、设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)
# -*- coding: utf-8 -*-
while True: #循环
print("\t\t\t英雄商城登录界面\n")
print("~*"*38)
print("\t\t\t1.用户登录\n")
print("\t\t\t2.用户注册\n")
print("\t\t\t3.退出系统\n")
print("~*"*38)
choice = input("请输入您的选择:")
if choice == "1": #用户需要登录
username = input("请输入您的用户名称:")
password = input("请输入您的用户密码:")
if username == "admin" and password == "888888":
print("登录成功......\n")
while True:
#第二个界面的循环 在第二个界面上选择了3,才会退回到第一个界面
print("\t\t\t英雄商城首页\n")
print("~*"*40)
print("\t\t\t1.进入英雄超市\n")
print("\t\t\t2.休闲小游戏\n")
print("\t\t\t3.退出登录\n")
print("~*"*40)
choice = input("请输入您的选择:")
if choice == "1":
print("欢迎来到英雄超市")
print("~*"*40)
print("1.纳尔 迷失之牙 3500 100 丛林不会原谅盲目与无知")
print("2.锐雯 放逐之刃 4000 100 她是残忍高效的战士")
print("~*"*40)
choice = input("请输入您的选择:")
if choice =="1":
print("你选择的英雄是纳尔")
print("英雄联盟新款皮肤折扣3.8折,需要支付70元人民币\n")
a =int (input("请输入购买数量:"))
b = 70 * a
print("你购买的皮肤,所需金额为%s"%b)
c =int (input("请支付商品需要的金额:"))
if b == c:
print(" ")
print(" 支付成功")
print(" ")
print("~*"*40)
print("英雄购买票据")
print(f"英雄名称:纳尔 英雄价格:100 活动折扣:3.8 应付付款:{b} 实际付款:{b} 找零:0")
print("~*"*40)
input("温馨提示)按任意键返回上一级菜单: ")
else:
print(" ")
print("支付金额错误,请重新支付")
if choice == "2":
pass
elif choice == "2":
print("各种休闲小游戏")
else:
break
else: #这是登录错误的情况
input("用户名或密码错误,请重新登录,按任意键继续:")
elif choice == "2": #用户需要注册
pass
elif choice == "3": #用户需要退出系统
break
print("game 0ver")
4、有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
l=[]
for n in range(1,10):
for m in range(1,10):
num = 1000 * n + 100*3 + 10 * 6 + m
if num %2 == 0 and num % 3 == 0:
#print (f'{num}')
l.append(num) #把这些数数存在列表中
c=max(l) #用max关键字 从列表中取出最大的
print(c)
d=min(l) #用min关键字 从列表中取出最小的
print(d)
5、编程求一个四位自然数ABCD,它乘以A后变成DCBA
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
for d in range (1,10):
num = 1000 *a + 100 *b + 10 *c + d
if num*a == 1000 *d +100*c +10*b +a:
print(num,end=" ")
6、用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
a = float(input("请输入一个数: "))
b = float(input("请输入一个数: "))
if a%b ==0 or a+b> 1000 :
print(a)
else:
print(b)
7、请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
num = int(input("请输入一个数: "))
if num %2 == 0:
print(f'{num}是偶数')
for a in range(1,num+1):
if a %3== 0:
print(a,end=" ")
elif num %2 == 1:
print(f'{num}是奇数')
for b in range(1,num+1):
if b %5== 0:
print(b,end=" ")
8、某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
T_price = 35
P_price = 120
T_num = int(input("请问您需要几件衬衫: "))
P_num = int(input("请问您需要几条裤子: "))
T_su = 0
P_su = 0
if T_num == 2:
T_su = T_price * 2 * 0.9
print(f'衬衫单价为35元,您选择{T_num}件,打九折,折后价为{T_su}')
elif T_num >= 3:
T_su = T_price * T_num * 0.8
print(f'衬衫单价为35元,您选择{T_num}件,打八折,折后价为{T_su}')
else:
T_su = T_num * T_price
print(f'衬衫单价为35元,您选择{T_num}件,不打折,折后价为{T_su}')
if P_num >=2:
P_su = P_price * 0.9 *P_num
print(f'裤子的单价为120元,您选择{P_num}条,打九折,折后价为{P_su}')
else:
P_su = P_price * P_num
print(f'裤子的单价为120元,您选择{P_num}条,不打折,折后价为{P_su}')
print(f'请付款{T_su+P_su}元')
9、鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
head_num ,feet_num = map(int,input().split(','))
#表示将输入的以逗号分开,如果括号里没有东西默认以空格隔开
m = (feet_num-(head_num*2))/2 #兔子的数量
n = (head_num*4-feet_num)/2 #小鸡的数量
if m<0 or n<0 or n-int(n)!=0 : #n和m必须是正整数或者一者为0
print("数量不符合现实")
else:
print(f'兔子的数量是{int(m)},小鸡的数量是{int(n)}')
10、猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断, 如果数大了,提供”数大了“ 成功之后,加上用户是否继续功能
"""
import random
random.randint(0,20)表示随机生成0-20的一个整数
"""
import random as r #r是别名
compute = r.randint(0,100)
#一直猜 死循环
while True:
my = int (input("请输入一个数: "))
if my > compute:
print("您财大了")
elif my < compute:
print("菜小了")
else:
print("撒花")
#break
choice = input("是否继续(Y)")
if choice == "Y":
compute = r.randint(0,100)
else:
print("拜拜")
break
11、猜拳游戏:石头、剪刀、布的游戏
import random
computer = random.randint(0,2)
while True:
my = int(input("请输入一个数0--石头 1--布 2--剪刀: "))
if(my==computer):
print("平局")
elif(my==0 and computer==1)or(my==1 and computer==2)or(my==2 and computer==0):
print("你输了")
elif(my==0 and computer==2)or(my==1 and computer==0)or(my==2 and computer==1):
print("你赢了")
choice =input("是否下一轮(Y)")
if choice == "Y" :
computer = random.randint(0,2)
else:
print("game over")
break