基本语句和函数等练习,知识点都在代码里。。。
 """
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
print("%d / %d = %f" % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))
print('%d * %d = %d' % (a, b, a * b))
print('%d ** %d = %d' % (a, b, a ** b))
print('%d %% %d = %d' % (a, b, a % b))
""" """
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
""" """
f = float(input())
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))
""" """
import math radius = float(input('请输入圆的半径'))
perimeter = 2 * math.pi * radius
area = math.pi * radius * radius
print('C = %.3f, S = %.3f'% (perimeter, area))
""" """
year = int(input('please input year:'))
is_leap = (year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
print(is_leap)
""" """
username = input('请输出用户名')
password = input('请输出密码')
if username == 'admin' and password == '123456':
print('身份验证成功')
else:
print('身份验证失败')
""" """
x = float(input())
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y))
""" """
import math
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print('周长:%f' % (a + b + c))
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('面积:%f' % (area))
else:
print('不能构成三角形')
""" """
sum = 0
for x in range(101):# 产生一个从0~100的整数序列
sum += x
print(int(sum))
"""
"""
sum = 0
for x in range(1, 101):# 产生一个从1~100的整数序列
sum += x
print(int(sum))
""" """
sum = 0
for x in range(1, 100, 2):# 可以产生一个1~99的奇数序列,其中步长为2,即数值序列的增量
sum += x
print(int(sum))
""" """
import random answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输出:'))
if number < answer:
print('大一点')
if number > answer:
print('小一点')
if number == answer:
print('恭喜你猜对了')
break
print('你总共猜了%d次' % (counter))
if counter > 7:
print('你的智商余额明显不足')
""" """
for i in range(1, 101):
for j in range (1, 101):
print('%d * %d = %d' % (i, j, i * j), end = '\t')# 在print语句之后使用','加end = '\t'使得输出语句输出tab而非换行
print()# 输出换行
""" """
from math import sqrt while(True):
try:
num = int(input('请输入一个正整数:'))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('%d 是素数' % (num))
else:
print('%d 不是素数' % (num))
except EOFError:
pass
""" """
x = int(input())
y = int(input())
if(x > y):
x, y = y, x # 可以通过这种方式直接交换两个变量的值
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d 和 %d 的最大公约数是 %d' % (x, y, factor))
print('%d 和 %d 的最小公倍数是 %d' % (x, y, x * y // factor))
break
""" """
row = int(input('请输入行数:'))
for i in range(row):
for j in range(i + 1):
print('*', end = '')# end = ''表示连接输出
print()
""" """
row = int(input('请输入行数:'))
for i in range(row):
for j in range(row):
if j < row - i - 1:
print(' ', end = '')
else:
print('*', end = '')
print()
""" """
row = int(input("请输出行数:"))
for i in range(row):
for j in range (row - i - 1):
print(' ', end = '')
for j in range(2 * i + 1):
print('*', end = '')
print()
"""
 """
# 寻找水仙花数 :水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 for i in range(100, 1000):
x = int(i)
sum = 0
while(x > 0):
sum += (x % 10) ** 3
x //= 10
if sum == i:
print('%d 是水仙花数' % sum)
""" # 如果一个数恰好等于它的因子之和,则称该数为“完全数”。
# 这里我们以1e4以内的完全数为例求解 """
import math for i in range(1, 10001):
sum = 0
end = int(math.sqrt(i))
for j in range(1, end + 1):
if i % j == 0:
sum += j
if j > 1 and i // j != j:
sum += i // j
if sum == i:
print("%d 是完全数" % i)
""" """
# 百钱百鸡问题:我国古代数学家张丘建在《算经》一书中提出的数学问题:
# 鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? for i in range(0, 20):
for j in range(0, 33):
z = 100 - i - j
if 5 * i + 3 * j + z // 3 == 100:
print('公鸡: %d只, 母鸡: %d只, 小鸡: %d只' % (i, j, z))
""" """
# 生成斐波纳挈数列 a = 0
b = 1
for _ in range(20):
a, b = b, a + b
print(a, end = ' ')
""" """
# Craps赌博游戏
# 玩家掷两个骰子,每个骰子点数为1-6,如果第一次点数和为7或11,则玩家胜;
# 如果点数和为2、3或12,则玩家输庄家胜。
# 若和为其他点数,则记录第一次的点数和,玩家继续掷骰子,直至点数和等于第一次掷出的点数和则玩家胜;
# 若掷出的点数和为7则庄家胜。 import random flag = False
cnt = 0
while not flag :
cnt += 1
a = random.randint(1, 6)
b = random.randint(1, 6)
if cnt == 1:
if a + b == 7 or a + b == 11:
print('a = %d, b = %d, 玩家胜利' % (a, b))
flag = True
elif a + b == 2 or a + b == 3 or a + b == 12:
flag = True
print('a = %d, b = %d, 庄家胜利' % (a, b))
else:
sum = a + b
else:
if a + b == 7:
print('sum等于%d, a + b = %d, 庄家胜利' % (sum, a + b))
flag = True
elif a + b == sum:
print('sum 等于 %d, a + b = %d, 玩家胜利' % (sum, a + b))
flag = True
"""
 """
#计算组合数的值 m = int(input('m = '))
n = int(input('n = '))
fm = 1
for num in range (1, m + 1):
fm *= num
fn = 1
for num in range (1, n + 1):
fn *= num
fmn = 1
for num in range (1, m - n + 1):
fmn *= num
print(fm // fn // fmn)
""" """
# 函数命名遵循变量命名规则,以def开头
def factorial(num) :
result = 1
for n in range(1, num + 1):
result *= n
return result m = int(input('m = '))
n = int(input('n = '))
print(factorial(m) // factorial(n) // factorial(m - n))
""" """
from random import randint def roll_dice(n = 2):
total = 0
for _ in range(n):
total += randint(1, 6)
return total def add(a = 0, b = 0, c = 0):
return a + b + c # 如果没有指定参数那么使用默认的值摇两颗骰子
print(roll_dice())
#摇三颗骰子
print(roll_dice(3))
print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
#传递参数时可以不按照设定的顺序进行传递
print(add(c = 50, a = 100, b = 200))
""" """
#在参数名前的*表示args是一个可变的参数
#即在调用add函数时可以传入0个或者多个参数 def add(*args):
total = 0
for val in args:
total += val
return total print(add())
print(add(1, 2))
print(add(1, 3, 4, 5, 6))
""" """
#在python中,如果在同一个文件中定义了两个相同名字的函数,那么后面的函数会覆盖之前的那个函数,也就意味着两个之中其实只有一个是存在的。
#但是在不同的模块即不同的py文件中可以存在相同文件名的函数,比如module1.py和module2.py中各有一个foo()函数那么我们可以通过下面这种方式访问里面的具体的函数。 #module1.py
def foo():
print('hello, world!')
#module2.py
def foo():
print('goodbye, world!') #test.py
from module1 import foo foo() from module2 import foo foo() #也可以按照下面的这种方式区分到底要使用哪一个foo函数。 #test.py
import module1 as m1
import module2 as m2
m1.foo()
m2.foo() # 但是实际上,如果我们导入的模块除了定义函数之外还有其他可执行代码,那么python解释器在导入这个模块的时候也会执行这部分代码
# 我们可以用如下的if语句编写其它执行代码,这样其它代码只有直接调用的时候才会执行,因为只有直接执行的模块的名字才是“__main__”。 def foo():
pass
def bar():
pass #_name_是Python中一个隐含的变量它代表着模块的名字
# 只有被Python解释器直接执行的模块的名字才是_main_
if __name__ == '__main__':
print('call foo()')
foo()
print('call bar()')
bar() test.py import module3 #导入module3时不会执行模块中if条件成立时的代码,因为模块的名字是module3而不是_main_ """ # Day 6 : Function: Trainning # 在下面得gcd函数实现过程中,出现了一个语句如果x > y则执行交换,否则不完成交换
"""
# 练习1:实现计算求最大公约数和最小公倍数的函数。
def gcd(x, y):
(x, y) = (y, x) if x > y else (x, y)
for factor in range(x, 0, -1):
if(x % factor == 0 and y % factor == 0):
return factor
def lcm(x, y):
return x * y // gcd(x, y) print(gcd(1, 3))
print(lcm(2, 3))
""" """
# 练习2:实现判断一个数是不是回文数的函数。
def is_palindrome(num):
temp = num
total = 0
while temp > 0:
total = total * 10 + temp % 10
temp //= 10
return total == num
""" """
#练习3:实现判断一个数是不是素数的函数。
from math import sqrt
def is_prime(num):
for factor in range(2, int(sqrt(num) + 1)):
if num % factor == 0:
return False
return True if num != 1 else False a = int(input('please input a positive number: '))
if is_prime(a):
print('%d is prime' % a)
else:
print('%d is not prime' % a)
""" """
#练习4:写一个程序判断输入的正整数是不是回文素数。 if __name__ == '__main__':
num = int(input('请输入正整数:'))
if is_palindrome(num) and is_prime(num):
print('%d 是回文素数' % num)
""" # 有关python变量作用域的问题
"""
Python中一般有
局部作用域:某个函数内部申请的变量只能在这个函数内或者函数内嵌套的函数内使用
嵌套作用域:如果A函数属于B函数的内部函数,那么在函数A中命名的变量在函数A之外都不能使用,而在函数B中命名的变量可以在函数A中使用
全局作用域:不包含在任何一个函数内,默认包含在main函数之内的全局变量,在任何地方都可以使用或者更改(更改时需要使用global关键字引入)
内置作用域:一般指的是Python内置的那些隐含的标识符min,len等等都属于内置作用域。
""" """
#在下面的代码中,函数内不可以修改a的值 def foo():
a = 200
print(a)# 200 if __name__ == '__main__':
a = 100
foo()
print(a) # 100
""" """
#我们可以通过以下的方式修改变量a的值
#我们使用global关键字来指示foo函数中的变量a来自于全局作用域,如果全局中没有a变量,那么下面得这个a变量就是一个申请的全局变量,也可以在全局使用 def foo():
global a
a = 200
print(a) #200 if __name__ == '__main__':
a = 100
foo()
print(a) #200
""" """
#如果我们希望函数内部的函数能够修改嵌套作用域中的变量时可以使用nonlocal关键字来指示变量来自于嵌套作用域 def foo():
a = 100
def bar():
nonlocal a
a = 200
print(a)
bar()
print(a) foo()
""" """
#往后的Python代码格式按照如下格式书写 def main():
# Todo:Add your code hear
pass if __name__ == '__main__':
main()
"""

一行输入两个整数:

 def main():
try:
while(True):
a, b = input().split()
print(int(a) * int(b))
except EOFError:
pass if __name__ == '__main__':
main()

每行一个整数:

 def main():
try:
while(True):
a = input()
b = input()
print(int(a) * int(b))
except EOFError:
pass if __name__ == '__main__':
main()

py基础的更多相关文章

  1. py基础---多线程、多进程、协程

    目录 Python基础__线程.进程.协程 1.什么是线程(thread)? 2.什么是进程(process)? 3.进程和线程的区别 4.GIL全局解释器锁 5.多线程(threading模块) 6 ...

  2. py基础3--函数,递归,内置函数

    本节内容 函数基本语法及特性 参数与局部变量 返回值 嵌套函数 递归 匿名函数 函数式编程介绍 高阶函数 内置函数 1. 函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况 ...

  3. py基础__socket编程

    目录 Python基础__socket编程 1.计算机网络 2.socke编程 3.socketserver模块 4.思考 Python基础__socket编程 1.计算机网络 1.OSI网络七层模型 ...

  4. py基础2--列表,元祖,字典,集合,文件

    本节内容 列表.元祖操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换 1. 列表操作 ...

  5. Py基础+中级

    原文 Py学习博客 1:https://www.cnblogs.com/fu-yong/p/8060198.html2:while True:just do it 三.Python的默认编码 ▷pyt ...

  6. py基础之模块与包

    '''模块:当代码越来越多时,将所有代码放入一个文件中便会无法维护,所以放到多个文件中去,这样每一个py文件就是一个模块 包:模块越来越多时容易重名,便将模块放入不同的包中,每个包中必须有一个__in ...

  7. py基础知识(一)

    python基础知识(一) print('1','2','3',sep=',',end='.') print 函数的用法 print(value,...,sep='',end='\n') 这里的val ...

  8. py基础4--迭代器、装饰器、软件开发规范

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1. 列表生成式,迭代器&生成器 列表生成式 我现在有个需求, ...

  9. py基础之列表生成式

    列表生成式就是用一句语句生成一个列表,格式基本是:x for i in L下面是使用for循环迭代dict而生成的一个复杂表达式,将输出后的字符串保存为html文档可以生成一个表格d = {'adam ...

随机推荐

  1. IPv6是未来趋势?部署IPv6有什么技术障碍?

    没有人在用IPv6?我相信有很多人在谈话中听到了类似的内容,虽然很难说服这些人,越来越多的组织正在部署IPv6,特别是当采用率在20岁时如此缓慢到目前为止存在的一年,这些实例至少让我有机会让他们再次思 ...

  2. django开发环境搭建(参考流程)

    django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开 ...

  3. ubuntu16.04 安装samba

    安装samba 1.更新当前软件 sudo apt-get upgrade sudo apt-get update sudo apt-get dist-upgrade 2.执行 sudo apt-ge ...

  4. vue父组件更新,子组件也更新的方法

    1.父组件 使用 Math.ramdom() 2.子组件获取 然后监听这个ramdom变化,处理子组件的更新

  5. Vue中的MVVM框架

    ViewModel:数据双向绑定 场景: 针对具有复杂交互逻辑的前段应用 提供基础的架构抽象 通过Ajax数据持久化,保证前端用户体验  什么是vue.js? 是一个轻量级的mvvm框架 数据驱动+组 ...

  6. android开源框架thinkinandroid相关研究

    和命令相关的类有: TAICommand:接口文件,一个命令接口所有命令需要从此实现,还有以下几种方法: TACommandExecutor 命令的实现类,其中含有commands这个成员变量.大部分 ...

  7. 快速构建Spring Cloud工程

    spring cloud简介 spring cloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环境 ...

  8. Scrapy爬虫框架下执行爬虫的方法

    在使用Scrapy框架进行爬虫时,执行爬虫文件的方法是 scrapy crawl xxx ,其中 xxx 是爬虫文件名. 但是,当我们在建立了多个文件时,使用上面的命令时会比较繁琐麻烦,我们就可以使用 ...

  9. Linux内核调试方法总结之bugreport

    bugreport [用途]Android性能分析工具,bugreport记录了Android启动过程日志,启动后的系统状态,包括进程列表.内存信息.VM信息等 [使用方法] Adb bugrepor ...

  10. 来自鸟哥的lftp客户端软件使用方法

    lftp (自動化腳本) 單純使用 ftp 總是覺得很麻煩,有沒有更快速的 ftp 用戶軟體呢?讓我們可以使用類似網址列的方式來登入 FTP 伺服器啊?有的,那就是 lftp 的功能了! lftp 預 ...