Python基础记录1

1、前言:为什么需求会改变一个人看待世界的方式?!

                 好多时候我们质问这个世界为什么这么难的时候,免不了感叹一下“没办法,现实就是这样!”

                 作为普通众生或是向生活妥协,或是死磕到底都是自己的选择罢了。人之饮水,冷暖自知。

2、Python3代码片段,运行直接可测试。

参考的学习地址:https://www.runoob.com/python3/python3-tutorial.html

#格式对齐比较严格!对齐与否事关程序块之间的隔离。
# 导入复数数学模块
import cmath
import calendar
print(calendar.mdays)
#狗岁估计**********************************************************************************
age = int(input("请输入您家狗狗的年龄: "))
print("")
if age <= 0:
    print("你是在逗我吧!")
elif age == 1:
    print("相当于 14 岁的人。")
elif age == 2:
    print("相当于 22 岁的人。")
elif age > 2:
    human = 22 + (age -2)*5
    print("对应人类年龄: ", human)
#数字求和***********************************************************************************
while 1:
    # 用户输入数字
    x1 = input('输入第一个数字:')
    y1 = input('输入第二个数字:')       
    sum=int(x1)+int(y1)     
    print(f"两个数字之和为{sum:.2f}")
    break
while 1:    
    x=input("请输入数字x的值")    
    y=input("请输入数字y的值")    
    try:        
        sum=float(x)+float(y)    
    except:        
        print("输入的数字格式不正确,请重新输入")        
        continue    
    else:        
        print(f"两个数字之和为{sum:.2f}")                
#使用指数运算符 ** 来计算该数的平方根,适合正数************************************************
    num = float(input('请输入一个数字: '))
    num_sqrt = num ** 0.5
    print(' %0.3f 的平方根为 %0.3f'%(num ,num_sqrt))
# 计算实数和复数平方根***********************************************************************
    num = int(input("请输入一个数字: "))
    num_sqrt = cmath.sqrt(num)
    print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num ,num_sqrt.real,num_sqrt.imag))
    break
#*******************************解决一元二次方程问题*****************************************
# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供,为实数,a ≠ 0 
import cmath
def get_para(para):
    """获取参数a, b, c的函数"""
    while True:
        try:
            number = float(input('请输入{}:'.format(para)))
            if para == 'a' and number == 0:
                print('a不能等于0!\n')
                continue
        except ValueError:
            print('请输入一个实数!\n')
            continue
        else:
            break
    return number

def solve(a, b, c):
    """解方程的函数"""
    d = b*b - 4*a*c
    if d < 0: # 复数解
        sol_1 = (-b + cmath.sqrt(d)) / (2*a)
        sol_2 = (-b - cmath.sqrt(d)) / (2*a)
    else: # 实数解
        sol_1 = (-b + d**0.5) / (2*a)
        sol_2 = (-b - d**0.5) / (2*a)
    print('方程的两个解为:\n{}\n{}'.format(sol_1, sol_2))

print('-'*60)
print('求解二次方程式 ax**2 + bx + c = 0 '.center(50))
print('-'*60)
print('请提供a, b, c的值(a, b, c为实数,a ≠ 0)'.center(50))
print('-'*60)

while True:
    a = get_para('a')
    b = get_para('b')
    c = get_para('c')
    solve(a, b, c)
    active = input('\n是否继续?(y/n): ')
    if active == 'n':
        break
#*******************************三角形面积*************************************************
# 通过用户输入三角形三边长度,并计算三角形的面积
# 已知三角形三边a,b,c,则
# (海伦公式)(p=(a+b+c)/2)
# S=sqrt[p(p-a)(p-b)(p-c)]
# =sqrt[(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
# =1/4sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
import math
import unicodedata
# 定义函数判断输入数据是否为数字
def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass
    try:
        unicodedata.digit(s)    # digit 把一个合法的数字字符串转换为数字值
        return True
    except (TypeError, ValueError):
        pass
    return False
def calculate(a1, b1, c1):
    if is_number(a1) and is_number(b1) and is_number(c1):
        a1 = float(a1)
        b1 = float(b1)
        c1 = float(c1)
        if a1 > 0  and b1 > 0 and c1 >0:
            while a1+b1<=c1 or a1+c1<=b1 or b1+c1<=a1:
                print("输入的边长无法构成三角形!!!")
                a1 = input('输入三角形边长a: ')
                b1 = input('输入三角形边长b: ')
                c1 = input('输入三角形边长c: ')
                calculate(a1,b1,c1)
            p = (a1+b1+c1)/2
            area = math.sqrt(p*(p - a1)*(p - b1)*(p - c1))
            print("三角形面积为:%0.2f" %area)
        else:
            print("三角形的边长必须大于0,请输入大于0的数!!!")
    else:
        print('请输入数字类型!!!')
while True:
     a1 = input('输入三角形边长a: ')
     b1 = input('输入三角形边长b: ')
     c1 = input('输入三角形边长c: ')
     calculate(a1,b1,c1)
     active = input('\n是否继续?(y/n): ')
     if active == 'n':
        break
def cirarea():
    r=0
    while r <=0:
        print('请输入大于0的数字!')
        try:
            r=float(input('您所要求的圆的半径是:'))
        except:
            print('输入错误,请输入数字!')    
    else:
        p=math.pi
        square=p*r**2
        print('您所求的圆的面积为:%.4f'%square)
cirarea()
#**************************************************************************************
#实现秒表功能
import time
print('按下回车开始计时,按下 Ctrl + C 停止计时。')
while True:
    
    input("") # 如果是 python 2.x 版本请使用 raw_input() 
    starttime = time.time()
    print('开始')
    try:
        while True:
            print('计时: ', round(time.time() - starttime, 0), '秒', end="\r")
            time.sleep(1)
    except KeyboardInterrupt:
        print('结束')
        endtime = time.time()
        print('总共的时间为:', round(endtime - starttime, 2),'secs')
        break
#**********************************************获取今天和昨天的日期*********************
# 引入 datetime 模块
import datetime
def getYesterday(): 
    yesterday = datetime.date.today() + datetime.timedelta(-1)
    return yesterday
# 输出
print('昨天的日期是:',getYesterday())
print('今天的日期是:',datetime.date.today())
print(datetime.timedelta(-1))
#**************************************年份的日历表************************************
# 输入指定年月
yy = int(input("输入年份: "))
mm = int(input("输入月份: "))
calendar.setfirstweekday(firstweekday=6)#设置第一天是星期天
print(calendar.month(yy,mm))
'''文件IO------------------------------进行文件的操作,写入和读取-------------------------'''
print('试着直接输入一行文字:')
with open('s.txt','wt') as fileout:
    fileout.write("写行中文试试\n")
    fileout.write(input())   
with open(r'C:\Users\hasee\Desktop\s.txt','rt') as filein:
    for line in filein.readlines(): #依次读取每行
        line = line.strip() #去掉每行头尾空白
        print(line)
    encoding="utf-8" # 指定文件格式为 utf-8
with open("python3_26.txt", "w", encoding="utf-8") as file_w:
    file_w.writelines("这是一个文件读写的测试文档\n")
    file_w.writelines("测试成功!")
with open("python3_26.txt", "r", encoding="utf-8") as file_r:
    text = file_r.read()
    print("文件{}的内容:\n{}".format(file_r.name, text))
#定义函数*******************************进行算数运算******************************************
def add(x, y):
   """相加"""
   return x + y
def subtract(x, y):
   """相减"""
   return x - y
def multiply(x, y):
   """相乘"""
   return x * y
def divide(x, y):
   """相除"""
   return x / y
# 用户输入
print("选择运算:")
print("1、相加")
print("2、相减")
print("3、相乘")
print("4、相除")
choice = input("输入你的选择(1/2/3/4):")
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
if choice == '1':
   print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
   print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
   print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
   print(num1,"/",num2,"=", divide(num1,num2))
else:
   print("非法输入")
#***********************************使用Tkiner界面计算(计算器)****************************************
print("请在GUI界面中进行算数运算!")
from math import *
try:
    from tkinter import *
except ImportError:
    from Tkinter import *
def calc():
    text = var.get()
    result = eval(text)
    result = result / 1.0
    result = str(result)
    var.set(result)
text = ''
result = ''
root = Tk()
pi = 3.1415926535897932
root.geometry('360x68')
root.resizable(width=False,height=False)
root.title('小型计算器')
var = StringVar()
entry = Entry(root,textvariable=var,width=360)
button = Button(root,text='GET RESULT',command=calc)
entry.pack()
button.pack()
root.mainloop()
#*****************************************9by9乘法表************************************************
# 九九乘法表
print('打印九九乘法表的例子')
for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\t'.format(j, i, i*j), end='')
    print()
#最大值
print(max(90,23,100,22,56))

结果显示:

猜你喜欢

转载自blog.csdn.net/weixin_39090239/article/details/115285393