1 获取变量的内存地址
x=input()
print(id(x))
运行结果
练习:
输入两个数字存入变量a,b中,交换a,b的值
a,b=map(int,input("please input two numbers:").split())
a,b=b,a
print(a,b)
运行结果
2 eval表达式,eval() 函数用来执行一个字符串表达式,并返回表达式的值。
x=7
eval('3*7')
运行结果
练习:
实现四则运算的计算,例如:当输入四则运算表达式“3+5*6=”时,能计算并输出表达式结果
gs=input("请输入四则运算表达式,以=结束:")
r=gs[0:-1]
print("运算结果是:",eval(r))
运行结果
3 阶乘:factorial()
练习:
输入数字n,计算并显示它的阶乘,要求显示为:n(根据输入值)的阶乘为:
import math
n=int(input("请输入一个整数:"))
print(f"{n}的阶乘为:",math.factorial(n))
运行结果
4 列表推导式
练习:
求1+1/2+…+1/20之和
print(sum([1/i for i in range(1,21)]))
#运行结果:3.597739657143682
练习:
求1-1/2+1/3-1/4+…之前n项和(n》=10,由键盘输入)
n=int(input("请输入项数:"))
x=[1/i if i%2==1 else -1/i for i in range(1,n+1)]
print(sum(x))
y=[(-1)**(i-1)/i for i in range (1,n+1)]
print(sum(y))
运行结果
练习:
求6+66+666+…+666…666(n个6,5<=n<=10)
n=int(input("请输入n: "))
x=[int(i*'6') for i in range(1,n+1)]
print(sum(x))
运行结果
练习
求1-1/3+1/5-1/7+…-1/47+1/49
x=[1/((-1)**(i+1))/(2*i-1) for i in range(1,26)]
print(sum(x))
y=[(-1)**(i+1)/(2*i-1) for i in range(1,26)]
print(sum(y))
运行结果
练习
给定两个均不超过9的正整数a和n,求a+aa+…+aa…aa(n个a)
a,n=map(str,input("请输入两个均不超过9的正整数a和n,中间用空格隔开: ").split())
n=int(n)
x=[int(i*a) for i in range(1,n+1)]
print(sum(x))
运行结果