"""
my_name = ""
str = {"哇大王的阿瓦达阿斯顿挨完达瓦的法务发尽"
"快哈打开链接阿什顿卢卡斯就的卢卡斯就道路喀什角度来看就爱上了看的"}
print(str)
变量
my_name = "Tom"
my_school = "QUT"
print("I'm ",my_name,"i'm from ",my_school,"." )
"""
"""
a = 3
b = 6
print(a+b)
"""
"""
a = 10.0
b = "dashkjdhjalks"
c = False "True
print(type(a))
print(type(b))
print(type(c))
"""
"""
列表:[]
eg.
a = [222, 'dasdsa']
print(type(a))
"""
"""
元组:()
eg.
a = (222, 'dasdsa')
print(type(a))
"""
"""
集合:{}
eg.
a = {222, 'dasdsa'}
print(type(a))
"""
"""
p = open('a.txt','w',encoding='utf-8')
print("I'm 沈哲",file = p)
"""
"""
整数类型:
二进制:0B/0b 开头
八进制:0O/0o 开头
十六进制:0X/0x 开头
数据进制转换:
转化为
bin(x): 二进制
oct(x): 八进制
int(x): 十进制
hex(x): 十六进制
浮点型:
3.14159 == 314159e-5
119 == 1.19e2
复数类型:
complex_a = 1+2j
complex_a.real = 1.0
complex_a.imag = 2.0
bool() 函数:将给定的值转换为布尔值
"""
"""
if 条件 :
语句1
语句2
......
x = 22
if x < 11 :
print("1")
elif x <20 :
print("2")
else :
print("3")
"""
"""
计算器:
a = float(input("请输入第一个数字:"))
b = float(input("请输入第二个数字:"))
op = input("请选择运算符(+-*/):")
if op == '+':
print(f'结果为:{a+b}')
elif op == '-':
print(f'结果为:{a-b}')
elif op == '*':
print(f'结果为:{a*b}')
elif op =='/':
if b == 0 :
print("除数不能为0")
else :
print(f'结果为:{a/b}')
"""
"""
文件操作:
#import os
p = open('a.txt','r')
res = p.read()
print(res)
"""
"""
while 循环
x = 1
while x <= 100:
print(x,".媳妇我错了")
x+=1
while 条件 :
语句1
语句2
......
"""
"""
for 循环
1.
for i in range(1,9,3):
print(i)
2.
str = 'assffdsg'
for i in str:
print(i)
输出:
a
s
s
f
f
d
s
g
Process finished with exit code 0
for 临时变量 in 序列:
语句1
语句2
......
"""
"""
循环嵌套:
for i in range(1,5):
for j in range(1,3):
print("ddd")
print(i)
"""
"""
字符串:
1.格式化输出:
"""
"""
def find(i):
while i > 0:
if i % 10 == 7:
#print(i);
return -1
#else: continue
else:
i = i//10
#print(i)
return 1
for i in range(1, 101, 1):
if i % 7 == 0 or find(i) == -1:
print("*",end='、')
else :
print(i,end='、')
"""
"""
size = int(input("请输入棋盘的大小:\n"))
for i in range(1,size+1,1):
for j in range(1,size+1,1):
if j == 1:
if i == 1:
print("┏",end='')
elif i == size:
print("┗", end='')
else :
print("┠",end='')
elif j == size:
if i == 1:
print("┓",end='')
elif i == size:
print("┛", end='')
else :
print("┨",end='')
else:
if i == 1:
print("┯",end='')
elif i == size:
print("┷", end='')
else :
print("┼",end='')
print("")
"""
"""
# 等额本息(均使用基准利率)
# 组合贷可作为课后习题
# 商业贷款利率:4.9%
# 公积金利率:3.25%
# 每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数]÷{[(1+月利率) ^ 还款月数]-1}
loan_type = input("请选择贷款类型:1.商业贷款 2.公积金贷款 3.组合贷款\n")
# 贷款金额
if loan_type != '3':
loan_amount = float(input("请输入贷款金额(万)\n"))
term = int(input("请选择期限(年):5、10、15、20、25\n"))
if term in [5, 10, 15, 20, 25]:
if term == 5:
mon_rate = (4.75 / 100) / 12 # 计算月利率
# 计算每月应还金额
mon_pay = loan_amount * 10000 * (mon_rate * ((1 + mon_rate) ** (term * 12))) / (
((1 + mon_rate) ** (term * 12)) - 1)
# 计算还款总额
all_pay = mon_pay * term * 12
# 计算支付利息
interest = all_pay - loan_amount * 10000
print("每月月供参考(元):{:.2f}元".format(mon_pay))
print("支付利息(元):{:.2f}元".format(interest))
print("还款总额(元):{:.2f}元".format(all_pay))
else:
# 商业贷款
if loan_type == '1': # 商业贷款
mon_rate = (4.90 / 100) / 12 # 计算月利率
# 计算每月应还金额
mon_pay = loan_amount * 10000 * (mon_rate * ((1 + mon_rate) ** (term * 12))) / (
((1 + mon_rate) ** (term * 12)) - 1)
# 计算还款总额
all_pay = mon_pay * term * 12
# 计算支付利息
interest = all_pay - loan_amount * 10000
print("每月月供参考(元):{:.2f}元".format(mon_pay))
print("支付利息(元):{:.2f}元".format(interest))
print("还款总额(元):{:.2f}元".format(all_pay))
elif loan_type == '2': # 公积金贷款
if term == 5:
mon_rate = (2.75 / 100) / 12 # 计算月利率
else:
mon_rate = (3.25 / 100) / 12 # 计算月利率
# 计算每月应还金额
mon_pay = loan_amount * 10000 * (mon_rate * ((1 + mon_rate) ** (term * 12))) / (
((1 + mon_rate) ** (term * 12)) - 1)
# 计算还款总额
all_pay = mon_pay * term * 12
# 计算支付利息
interest = all_pay - loan_amount * 10000
print("每月月供参考(元):{:.2f}元".format(mon_pay))
print("支付利息(元):{:.2f}元".format(interest))
print("还款总额(元):{:.2f}元".format(all_pay))
else:
print('请输入合法的期限')
else:
# 商贷金额
business_loan = float(input("请输入商业贷款金额(万):\n"))
# 公积金贷款
fund_loan = float(input("请输入公积金贷款金额(万):\n"))
term = int(input("请选择期限(年):5、10、15、20、25\n"))
if term in [5, 10, 15, 20, 25]:
if term == 5:
business_mon_rate = (4.75 / 100) / 12 # 商贷月利率
found_mon_rate = (2.75 / 100) / 12 # 公积金月利率
else:
business_mon_rate = (4.90 / 100) / 12 # 商贷月利率
found_mon_rate = (3.25 / 100) / 12 # 公积金月利率
# 计算商业贷款 每月应还金额
business_mon_pay = business_loan * 10000 * (
business_mon_rate * ((1 + business_mon_rate) ** (term * 12))) / (
((1 + business_mon_rate) ** (term * 12)) - 1)
# 计算公积金贷款 每月应还金额
found_mon_pay = fund_loan * 10000 * (found_mon_rate * ((1 + found_mon_rate) ** (term * 12))) / (
((1 + found_mon_rate) ** (term * 12)) - 1)
# 每月总应还
mon_all_pay = business_mon_pay + found_mon_pay
all_pay = mon_all_pay * term * 12
# 计算支付利息
interest = all_pay - (business_loan + fund_loan) * 10000
print("每月月供参考(元):{:.2f}元".format(mon_all_pay))
print("支付利息(元):{:.2f}元".format(interest))
print("还款总额(元):{:.2f}元".format(all_pay))
else:
print('请输入合法的期限')
"""
# 列表---可变类型
# 1、创建列表
# list1 = []
# list2 = list("可迭代对象")
# 2、常用操作
# 查找: 1、按下标查找 2、函数:
# 添加:1、append():列表序列.append("追加数据")
# 可以追加一个列表序列:list.append([])
# 2、entend():将数据序列拆开,逐个追加
# 3、insert():任意位置追加---列表序列.insert(位置下标,数据)
# 排序: 逆序--revers()
# 排序:列表序列.sort(key='',reverse=true/false)--reverse=true:降序;reverse=false:升序
# 删除:del---可删列表、可删指定位置的数据
# del 目标
# del(目标)
# pop---删除指定下标的数据,返回被删除的数据
# 列表序列.pop(删除的数据的下标,默认为结尾元素的下表)
# remove
# remove("数据")
# clear---清空列表
# 3、列表推导式
# list = [i for i in range(10)] 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# list = [i for i in range(10) if i%2!=0 ] 输出:[1, 3, 5, 7, 9]
# list = [(i,j) for i in range(1,10,3) for j in range(3,11,2)] 输出:[(1, 3), (1, 5), (1, 7), (1, 9), (4, 3), (4, 5), (4, 7), (4, 9), (7, 3), (7, 5), (7, 7), (7, 9)
# 元组---数据不可修改---其余同列表
# 定义 t = (10,20,324)
# 集合---去重---集合没有顺序,不支持下标操作
# 1、创建 {} 或 set()---创建空集合只能用set()
# s = set("abcdefg") 输出:{'d', 'f', 'g', 'c', 'a', 'b', 'e'}
# 2、常见操作
# 添加:add()---增加单一数据到集合中
# update()---增加一个序列到集合中
"""
eg.
s = {10,20,30}
print(s) 输出:{10, 20, 30}
s.update([1,2,3,10,20,3,4,0])
print(s) 输出:{0, 1, 2, 3, 4, 10, 20, 30}
"""
# 删除:remove('删除的数据')---集合中没有则报错
# discard('删除的数据')---集合中没有不会报错
# pop():随机删除某个数据,并返回
# 查找:in,not in
"""
s = {1,2,3,4,5,6}
print(1 in s)---True
print(11 in s)---False
print(11 not in s)---True
"""
#字典----1、以键值对的形式出现---2、各键值对之间用都逗号隔开---1、{}
#1、创建
# dict = {'key1':value1,'key2':value2......}
#2、查找
# 按照key进行查找---dict[key]==value1
# dict.get('key',不存在时的返回值,默认为None)
# dict.keys()---遍历所有的key值,返回一个可迭代的序列
"""
dict = {'name':'Tom','age':20,'gender':'男'}
print(dict.keys()) 输出: dict_keys(['name', 'age', 'gender'])
"""
# values()---遍历所有的value值,返回一个可迭代的序列
"""
dict = {'name':'Tom','age':20,'gender':'男'}
print(dict.values()) 输出: dict_values(['Tom', 20, '男'])
"""
# items()---查找所有键值对,每个键值对形成一个元组
"""
dict = {'name':'Tom','age':20,'gender':'男'}
print(dict.items()) 输出:dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
"""
#3、增加
# dict[key] = 值 key存在则为修改
#4、删除
# del
# 函数
"""
1、定义函数
def 函数名(参数):
语句1
语句2
......
2、调用函数
函数名(参数)
3、函数的参数
3.1位置参数---传递和定义的参数的数量顺序必须一致
def user_info(name, age, gender ):
print(f'姓名:{name},年龄:{age},性别:{gender}')
user_info('Tom',20,'男') 输出:姓名:Tom,年龄:20,性别:男
3.2关键字参数---使用键值对的形式进行参数传递---若位置参数和关键字参数均存在,位置参数必须在前面
def user_info(name, age, gender ):
print(f'姓名:{name},年龄:{age},性别:{gender}')
user_info('Tom',gender='男',age=20) 输出:姓名:Tom,年龄:20,性别:男
3.3默认参数
def user_info(name, age='未知', gender='未知'):
print(f'姓名:{name},年龄:{age},性别:{gender}')
user_info('Tom',gender='女') #输出:姓名:Tom,年龄:未知,性别:女
3.4不定长参数(可变参数)---不确定调用时会传入多少参数
3.4.1包裹位置传递---返回元组
def user_info(*args):
print(args)---args将传入的数据作为一个元组使用
user_info('Tom',33) 输出:('Tom', 33)
3.4.2包裹关键值传递---返回字典
def user_info(**kwargs):
print(kwargs)---args将传入的数据作为一个字典使用
user_info(name='Tom',age=33) 输出:{'name': 'Tom', 'age': 33}
3.4混合传递
"""
python基础语法
于 2023-04-09 18:54:41 首次发布