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__‘相关推荐

  1. 如何简单地理解Python中的if __name__ == '__main__'

    如何简单地理解Python中的if __name__ == '__main__' 文章目录: 一.摘要 二. 程序入口 虽然已经知道这个具体的用法,但是这篇文章有很多细节写的还是很好,决定转载一下,日 ...

  2. Python 中的 if __name__ == __main__ 该如何理解

    Python 中的 if __name__ == "__main__" 该如何理解 原文链接: http://blog.konghy.cn/2017/04/24/python-en ...

  3. 2020-12-11 Python中的 if __name__ == “__main__“

    Python中的 if __name__ == "__main__" 对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__ ...

  4. python中使用if __name__ == '__main__':

    引子 在python中,假设在一个test1.py的模块中定义了一个foo函数,然后调用函数foo进行测试的时候会产生一个内存空间.当你把这个模块导入到test2.py模块中,接下来如果在test2. ...

  5. 如何快速简单粗暴地理解Python中的if __name__ == ‘__main__‘

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  6. 解惑(二)----- 如何通俗地理解Python中的if __name__ == ‘__main__‘

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  7. 简单理解Python中的if __name__ == '__main__'

    1. 摘要 通俗的理解__name__ == 'main':假如你叫小明.py,在朋友眼中,你是小明(name == '小明'):在你自己眼中,你是你自己(name == 'main'). if na ...

  8. 一个实例告诉你Python中关于 if __name__ == ‘__main__‘ 有何作用

    文章目录 前言 正文 .py源文件 实例现象 运行原理 前言 相信大部分开发者对于"程序入口"这个概念并不陌生.对于很多编程语言来说,程序都必须要有一个入口,比如既保留C语言面向过 ...

  9. Python 中的 if __name__ == '__main__' 该如何理解

    程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要 ...

最新文章

  1. 利用Powershell和ceye.io实现Windows账户密码回传
  2. 论文笔记(3)-Extracting and Composing Robust Features with Denoising Autoencoders
  3. 使用ASP.NET Core 3.x 构建 RESTful API - 4.1 面向外部的Model
  4. [已解决]Vistual Stdio 2015 installer Bootstrapper Packages 路径
  5. 期权、RSU的区别与行权事宜
  6. Python中__init__和__new__的区别详解
  7. flash 转 html5 工具_转
  8. 大学matlab教程,大学数学MATLAB应用教程
  9. 基于SSM开发的的小区物业管理系统小程序源码
  10. Ubuntu16.04关闭笔记本触摸板
  11. 360度环绕式全景 微软photosynth震撼体验
  12. 雾霾指数预测与城市治理(大数据平台系列)
  13. pyecharts学习笔记
  14. 元数据管理-Github 1.9K Star的数据治理框架-Amundsen
  15. 最优性理论(无约束)
  16. TP-LINK TL-WR740N 升级系统 总结
  17. vue中v-if 不重新渲染组件的问题
  18. java中length,length()和size()各自含义
  19. 米筐量化如何安装使用?
  20. UE4 Windows下对接百度语音识别

热门文章

  1. 二叉树中如何求根节点到任意节点的路径?
  2. java超级简单贪吃蛇_java实现简易贪吃蛇游戏
  3. pyqt 获取 UI 中组件_初级UI需注意10个移动端的关键原则
  4. 网易云课堂计算机体系,计算机系统结构 (三) CPU及其结构分析
  5. 计算机应用基础操作题教学考试,电大教学全国计算机应用基础考试网考内容全部操作题.doc...
  6. 电阻应用电路之指示灯电路的设计
  7. php smarty fetch,fetch()
  8. 门限的限意思是什么_门限是什么意思_门限英文翻译
  9. java for循环优化_Java for循环优化
  10. centos ipv6 网卡_CentOS 6配置IPv6地址