前期学习总结
-
输出’hello world’ 输入 input,输出print
print('hello world')
-
定义变量,变量名,标识符,由字母、数字或者下划线组成,并且数字不能开头,不能使用关键字命名变量,关键字 - python中本身具备特殊功能或者特殊意义的一些标识符。
a = 15
print(a)
-
运算符 + - * / % // += -+ /= *=
a += 1 #a = a + 1
-
分支与循环
分支:单分支,多分支
1).if分支
if 条件:
执行语句 单分支
if条件:
执行语句
else:
执行语句 单分支
if … #多分支
if…
if…
if… #多分支 区别:条件互不包容
elif…
elif…
2)for循环
for 变量 in 序列: #让变量去序列中取值,一个一个的取,取完为止;取一个值就执行一次循环体。 for循环的循环次数和序列中元素的个数有关。 for x in 'abc': #循环三次
3)while
while True: #无限循环,只有False才会跳转
continue和break - 只能在循环体中使用
continue作用:结束一次循环(直接进入下次循环)
break 作用:直接跳转结束全部循环
作业
-
判断101-200之间有多少个素数,并输出所有素数。
count = 0 for num in range(101,200): for x in range(2, num): if num % x == 0: break else: count += 1 print(count,num)
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
count = 0 for a in range(1,100): if a % 10 != 3: count += a print(count)
-
有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
a = 1 x = 2 count = 0 while True: x, a = (x + a), x count += 1 if count == 19: print("第二十个分数", x, "/", a) break
-
写程序计算 n 的阶乘 n! 的结果
n = int(input('请输入一个整数')) a = 1 for x in range(1,n+1): a *= x print(a)
-
求1+2!+3!+…+20!的和
n = int(input('请输入一个整数')) a = 1 count = 0 for x in range(1,n+1): a *= x count += a print(a,count)
-
写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)
例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333
a = int(input('请输入一个整数')) n = int(input('请输入一个整数')) count = 0 for x in range(0,n): c = 10**x b = a*c count += b if x == n-1: print(count) else: print(count,'',sep='+',end='')
-
控制台输出三角形
a.根据n的值的不同,输出相应的形状 n = 5时 n = 4 ***** **** **** *** *** ** ** * * b.根据n的值的不同,输出相应的形状(n为奇数) n = 5 n = 7 * * *** *** ***** ***** ******* c. 根据n的值的不同,输出相应的形状 n = 4 1 121 12321 1234321 n = 5 1 121 12321 1234321 123454321
n = int(input("输入n的值:")) while True: for x in range(n): print("*", end="") n -= 1 print() if n == 0: break
n = int(input('请输入奇数:')) for x in range(1, n + 1, 2): y = int((n - x) / 2) print(y*' ', x * '*')
-
小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
for a in range(0,7): for b in range(0,50): for c in range(0,20): if 15*a+2*b+5*c == 100: print(a,b,c)
-
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
count = 0 c = 0.08 while True: c *= 2 if c <= 8848130: count += 1 else: break print(count)
-
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
yue = int(input('输入月数')) for x in range(0,yue+1): count = (yue-1)*2+(yue-2)*1+1 print(count)
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
n = int(input('请输入一个整数')) for x in range(2,n): if n % x == 0: print('x:',x) n = n / x
-
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
num = int(input('请输入一个四位数字')) a = (num % 10 + 5) % 10 #个位数 b = (num % 100 // 10 + 5) % 10 #十位数 c = (num % 1000 // 100 + 5) % 10 #百位数 d = (num // 1000 + 5) % 10 #千位数 print(d,c,b,a)
-
将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
-
本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
num = int(input('请输入一个四位数字')) money = 10000 for x in range(1,num+1): money *= 1.003 print(money)
-
输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
num = int(input('请输入一个数字')) count = 1 for x in range(1,num+1): if num // (10**x) != 0: count += 1 else: break print(count)
-
求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
a = int(input('请输入一个数字')) b = int(input('请输入一个数字')) count = 1 for x in range(2,a+b): if a % x == 0 and b % x == 0: break print(x) for y in range(2,a*b+1): if y % a == 0 and y % b ==0: break print(y)