一些简单的小程序(2)
目录:
程序1:求方程a * x ** 2 + b * x + c = 0的根
程序2:输入今天是周几,求出指定天数后的某天是周几
程序3:将输入的数字升序
程序4: 求星期几(蔡勒公式)
程序1:求方程a * x ** 2 + b * x + c = 0的根
## 本文规定: ## 常量全部用大写形式,如: USER_IS_NAME ## 变量格式,如: userIsName ## python3
a, b, c = eval(input("输入a, b, c的值, (如3, 5, 7): ")) # 若discriminant大于0,则方程有两个根 # 等于0,则有一个根,小于0,没有根 discriminant = (b ** 2) - (4 * a * c) if discriminant > 0: r1 = (-b + (discriminant ** 1 / 2)) * (1 / (2 * a)) r2 = (-b - (discriminant ** 1 / 2)) * (1 / (2 * a)) print("The roots are " + str(int(r1)) + " and " + str(int(r2))) elif discriminant == 0: r = (-b - (discriminant ** 1 / 2)) * (1 / (2 * a)) print("The roots is " + str(int(discriminant))) else: print("The equation has no real roots")
程序2:输入今天是周几,求出指定天数后的某天是周几
weeks = {0: "周日", 1: "周一", 2: "周二", 3: "周三", \ 4: "周四", 5: "周五", 6: "周六"} for i in range(7): print(i, weeks[i], end = "|") print() # What day is it today? todayWeek = eval(input("今天周几, 如5: ")) # Want to know how many days in the future will be the days of the week # 用户想知道未来多少天后星期几 futureWeek = eval(input("未来多少天后,如5: ")) days = (futureWeek + todayWeek) % 7 k = print("未来的第 %d 天后是: " % futureWeek, weeks[days])
程序3:将输入的数字升序
List = [] userSortingDigital = eval(input("用户想给多少个数字排序,(如7): ")) + 1 for i in range(1, userSortingDigital): x = eval(input("输入第 " + str(i) + " 个数字: ")) List.append(x) List = sorted(List) print("升序为: ") for i in range(0, int(userSortingDigital) - 1): print(List[i], end = ' ')
程序4: 求星期几(蔡勒公式)
# which year? y = eval(input("第多少年(如1965年,则输入65): ")) # Which century? c = eval(input("第多少世纪,(如21世纪,则输入21): ")) - 1 # Which month? m = eval(input("第多少月,(如6月,则输入6): ")) if m <= 2: m += 12 # Which day? d = eval(input("第多少日, (如6月7日, 则输入7): ")) # Which week? # Calculated using the Zeil formula(用蔡勒公式进行计算) w = int((y + y // 4 + c // 4 - 2 * c + (26 * (m + 1) //10) + d - 1)) % 7 print("这一天是周", w)