Python中的if __name__ == ‘__main__‘
if name == 'main’的意思是:当.py文件被直接运行时,if name == 'main’之下的代码块将被运行;当.py文件以模块形式被导入时,if name == 'main’之下的代码块不被运行。
from here
eval()和float()函数都可以把input() 函数接收到的数值型字符串转为数值类型
例:float(‘3.14’) 的结果是数值 3.14
python map函数:map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的list:
输入:['adam', 'LISA', 'barT']
输出:['Adam', 'Lisa', 'Bart']def format_name(s):s1=s[0:1].upper()+s[1:].lower();return s1;
print map(format_name, ['adam', 'LISA', 'barT'])
from here
不同大小的数组之间的运算叫做广播(broadcasting)
/ 除
// 整除
% 模(返回除法的余数)
Python123-编程更简单
python中的math函数
Python中break和continue区别
Python split()方法:Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
str.split(str="", num=string.count(str)).
参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
在一行中给出n个非负整数,即这n位学生的成绩,其间以空格分隔。
score = list(map(int, input().split())) # 通过map()和list()函数把用户输入转化成int列表[添加链接描述](https://docs.python.org/zh-cn/3/library/math.html)
# 输入一个正整数n,计算 1!+2!+3!+...+n! 的和并输出。
def sum_factorial(n):total, t = 1, 1for i in range(2, n + 1):t = t * itotal = total + treturn totaln = int(input())
print(sum_factorial(n))
math — 数学函数
正负交错数列前n项和
n = int(input())
result = 1 # 首项的值,作为累加初值
sign = -1 # 符号,第二项是负值,
previous, current = 1, 1 # 分母数字的初值,从第二项开始符合这个规律
for i in range(1, n): # 从1到n-1遍历n-1次previous, current = current, previous + current # 下一个数值是前面两个数的加和result = result + sign * i / current # 注意分子是 isign = -sign # 改变正负号
print('{:.6f}'.format(result))
十进制整数转二进制
num = int(input())
s=''
if num == 0:s = '0'
while num != 0:s = s + str(num % 2) # 将num对2取余的结果转字符串拼接到snum = num // 2
print(s[::-1])
# 逆序输出字符串
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前n项之和,n由用户输入。
# 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和,n由用户输入。
# 除了首项,分子位前一项分子分母只和,分母为前一项分子
n = int(input())
sumn = 0
a,b=2,1
for i in range(1,n + 1):sumn=sumn+a/bb,a=a,a+b
print(sumn)
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?
for cock in range(1, 101): # 公鸡数量不为0且小于或等于100for hen in range(1, 101): # 母鸡数量不为0且小于或等于100for chicken in range(1, 101): # 小鸡数量大于0小于等于100且是3的倍数if chicken % 3 == 0:if cock + hen + chicken == 100 and 5 * cock + 3 * hen + chicken // 3 == 100:print(cock, hen, chicken) # 遇到满足条件的数字组合就输出
求数列前n项的平方和
#1×1+2×2+3×3……的前n项和n = int(input())
sum = 0
for i in range(1,n+1):sum = sum + i * i
print(sum)
输出实数a除以b的结果,计算结果四舍五入,保留2位小数。
# 计算a除以b,结果保留2位小数
a = eval(input())
b = eval(input())
if b != 0:print(round(a / b, 2))
else:print('除零错误')
字符大小写转换
s = input()
for c in s:if c.islower():print(c.upper(),end = '')elif c.isupper():print(c.lower(),end = '')else:print(c,end = '')
# print(''.join([i.lower() if i.isupper() else i.upper() for i in input()]))
# 也可用下述方法将转变后的字符先加入列表,再将列表中的字符拼接到一起输出
# import string
#
#
# def swap_case(s):
# ls = []
# for c in s:
# if c in string.ascii_lowercase:
# ls.append(c.upper())
# elif c in string.ascii_uppercase:
# ls.append(c.lower())
# else:
# ls.append(c)
# return ''.join(ls)
#
#
# if __name__ == '__main__':
# s = input()
# result = swap_case(s)
# print(result)
isinstance(object,type)作用:来判断一个对象是否是一个已知的类型。
import mathn = eval(input())
if isinstance(n, int) and n >= 0:print(math.factorial(n))
else:print("ERROR")
分期付款计算器
描述
购买房屋或大宗家电时,很多时候可以分期付款,还款方式分为等额本息和等额本金两种:
等额本息(Average Capital Plus Interest:ACPI)还款公式:
每月还款额=贷款本金月利率(1+月利率)**总还款月数/((1+月利率)**总还款月数-1)
等额本金(Average Capital:AC)还款公式:
每月还款额=贷款本金/总还款月数+(贷款本金-累计已还款本金)*月利率
设计一个程序计算分期付款时每一期的应还款额,还款方式输入错误时,输出“还款方式输入错误”。
price,month,mode,rate = float(input()),int(input()),input(),float(input())
if mode == 'AC':ls = []for i in range(month):repayment = price / month + (price - price / month * i) * ratels.append(round(repayment,2))print(ls)
elif mode == 'ACPI': # 每月还款额相同repayment = price * rate * (1 + rate) ** month /((1 + rate) ** month - 1)print(round(repayment,2))
else:print('还款方式输入错误')
用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口、中间还是过道。目前中国高铁和国内飞机窗口位置的字母是’A’和’F’,过道位置是’C’和 ‘D’,中间位置是’B’。每个车厢座位排数是1-17,输入时不区分字母大小写。根据输入判定座位的位置,当输入的数据不是一个合法的座位号时,输出“座位号不存在”。
#用户输入一个数字和一个字母组成的座位号,根据字母判断是不是窗口的位置
#目前中国高铁窗口位置的字母是'A'和'F',过道位置是'C'和 'D',中间位置是'E'
#数字序号是1-17
s = input()
try:if 2 <= len(s) < 4 and 1 < int(s[:-1]) <= 17:if s[-1] in ['A','a','F','f']:print('窗口')elif s[-1] in ['C','c','D','d']:print('过道')elif s[-1] in ['B','b']:print('中间')else:print('座位号不存在')else:print('座位号不存在')
except:print('座位号不存在')
用户输入一个小于10的正整数,求1 + 12 + 123 + 1234 + …… 的前n项的和,当输入大于或等于10时,输出“data error!”
n = int(input())
if n <= 9:total = 0tmp = 0 # 用来存上一个数for i in range(1, n + 1):tmp = tmp * 10 + i # 计算下一个要加的数: 1 —> 12,1234 —> 12345total = total + tmpprint(total)
else:print('data error!')# 面向测试用例编程
# print([1, 13, 136, 1370, 13715, 137171, 1371738, 13717416, 137174205][n - 1])```
一个正整数如果等于组成它的各位数字的阶乘之和,则该正整数称为阶乘和数。例如正整数145,1!+4!+5!等于145,因此145就是一个阶乘和数。输入一个正整数,计算它的各位数字的阶乘之和,判断它是否是一个阶乘和数。当输入的数字为阶乘和数时,输出“YES”,否则输出“NO”。注意:输入的正整数的最高位不为0。
# 正整数145,1!+4!+5!等于145
import math# 循环解法
# n = input()
# total = 0
# for i in n:
# total = total + math.factorial(int(i))
# print(total)
# if int(n) == total:
# print('YES')
# else:
# print('NO')import mathn = input()
s = sum(math.factorial(int(i)) for i in n) # 推导式
if int(n) == s:print('YES')
else:print('NO')
《九章算术》的“盈不足篇”里有一个很有意思的老鼠打洞问题。原文这么说的:今有垣厚十尺,两鼠对穿。大鼠日一尺,小鼠亦一尺。大鼠日自倍,小鼠日自半。问:何日相逢?各穿几何?
这道题的意思就是说,有一堵十尺厚的墙,两只老鼠从两边向中间打洞。大老鼠第一天打一尺,小老鼠也是一尺。大老鼠每天的打洞进度是前一天的一倍,小老鼠每天的进度是前一天的一半。问它们几天可以相逢,相逢时各打了多少。
n = int(input())
rat, mouse, day, time = 1, 1, 0, 1
distance_of_rat, distance_of_mouse = 0, 0 # 大老鼠和小老鼠的打洞距离
while n > 0:if n - mouse - rat < 0:time = n / (mouse + rat)n = n - mouse - ratdistance_of_mouse = distance_of_mouse + time * mousedistance_of_rat = distance_of_rat + time * ratrat = rat * 2mouse = mouse / 2day = day + 1
print(day)
print(round(distance_of_mouse, 1), round(distance_of_rat, 1))
13日,如果恰逢星期五就叫“黑色星期五”。编程输出某年所有的黑色星期五的具体日期
补充说明
import datetime
datetime.datetime.now() 表示当前时间
datetime.datetime.now().isoweekday() # 返回1-7,代表周一到周日,当前时间所在本周第几天;datetime.datetime.now().weekday() # 返回的0-6,代表周一到周日
import datetime
year = int(input()) #输入任意年份
days = [datetime.date(year, i, 13) for i in range(1, 13)] #产生该年每个月13日 的列表
for i in days:if i.isoweekday()==5:print(i)
Python中的if __name__ == ‘__main__‘相关推荐
- 如何简单地理解Python中的if __name__ == '__main__'
如何简单地理解Python中的if __name__ == '__main__' 文章目录: 一.摘要 二. 程序入口 虽然已经知道这个具体的用法,但是这篇文章有很多细节写的还是很好,决定转载一下,日 ...
- Python 中的 if __name__ == __main__ 该如何理解
Python 中的 if __name__ == "__main__" 该如何理解 原文链接: http://blog.konghy.cn/2017/04/24/python-en ...
- 2020-12-11 Python中的 if __name__ == “__main__“
Python中的 if __name__ == "__main__" 对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__ ...
- python中使用if __name__ == '__main__':
引子 在python中,假设在一个test1.py的模块中定义了一个foo函数,然后调用函数foo进行测试的时候会产生一个内存空间.当你把这个模块导入到test2.py模块中,接下来如果在test2. ...
- 如何快速简单粗暴地理解Python中的if __name__ == ‘__main__‘
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- 解惑(二)----- 如何通俗地理解Python中的if __name__ == ‘__main__‘
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- 简单理解Python中的if __name__ == '__main__'
1. 摘要 通俗的理解__name__ == 'main':假如你叫小明.py,在朋友眼中,你是小明(name == '小明'):在你自己眼中,你是你自己(name == 'main'). if na ...
- 一个实例告诉你Python中关于 if __name__ == ‘__main__‘ 有何作用
文章目录 前言 正文 .py源文件 实例现象 运行原理 前言 相信大部分开发者对于"程序入口"这个概念并不陌生.对于很多编程语言来说,程序都必须要有一个入口,比如既保留C语言面向过 ...
- Python 中的 if __name__ == '__main__' 该如何理解
程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要 ...
最新文章
- 利用Powershell和ceye.io实现Windows账户密码回传
- 论文笔记(3)-Extracting and Composing Robust Features with Denoising Autoencoders
- 使用ASP.NET Core 3.x 构建 RESTful API - 4.1 面向外部的Model
- [已解决]Vistual Stdio 2015 installer Bootstrapper Packages 路径
- 期权、RSU的区别与行权事宜
- Python中__init__和__new__的区别详解
- flash 转 html5 工具_转
- 大学matlab教程,大学数学MATLAB应用教程
- 基于SSM开发的的小区物业管理系统小程序源码
- Ubuntu16.04关闭笔记本触摸板
- 360度环绕式全景 微软photosynth震撼体验
- 雾霾指数预测与城市治理(大数据平台系列)
- pyecharts学习笔记
- 元数据管理-Github 1.9K Star的数据治理框架-Amundsen
- 最优性理论(无约束)
- TP-LINK TL-WR740N 升级系统 总结
- vue中v-if 不重新渲染组件的问题
- java中length,length()和size()各自含义
- 米筐量化如何安装使用?
- UE4 Windows下对接百度语音识别
热门文章
- 二叉树中如何求根节点到任意节点的路径?
- java超级简单贪吃蛇_java实现简易贪吃蛇游戏
- pyqt 获取 UI 中组件_初级UI需注意10个移动端的关键原则
- 网易云课堂计算机体系,计算机系统结构 (三) CPU及其结构分析
- 计算机应用基础操作题教学考试,电大教学全国计算机应用基础考试网考内容全部操作题.doc...
- 电阻应用电路之指示灯电路的设计
- php smarty fetch,fetch()
- 门限的限意思是什么_门限是什么意思_门限英文翻译
- java for循环优化_Java for循环优化
- centos ipv6 网卡_CentOS 6配置IPv6地址