python变量运算符分⽀结构循环结构及例题
第⼀周总结复习
python的[官⽅⽹站](http://python.org)##变量'''
1.变量的作⽤:变量是数据的载体
2.变量的命名:字母数字下划线开头,不能⽤数字开头 不能⽤关键字,特殊符号 $等开头 ⼤⼩写敏感(a 和 A 不⼀样)PEP 8 要求:
⽤⼩写字母拼写,多个单词⽤下划线隔开受保护的实例属性⽤单个下划线开头私有的实例属性⽤两个下划线开头
3.变量的类型: int(),float(),str(), chr(), ord()--将字符串转化成对应的编码'''
##运算符'''
1.赋值运算符: =(赋值)、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(取余赋值)2.算数运算符: +、-、*、/、%3.关系运算符: ==(等于)、!=(不等于)、>(⼤于)、<(⼩于)、>=(⼤于等于)、<=(⼩于等于)4.逻辑运算符:and(与)、or(或)、not(⾮)5.⾝份运算符'''
##分⽀结构''''''
##循环结构'''
1.while循环:只要某⼀条件成⽴,就不断执⾏循环体⾥的代码,直到该条件不再成⽴,条件是否成⽴同样是逻辑值来表⽰2.for循环:循环的循环次数⼀般是事先定好的,将⼀个条件变量从某个岂是值开始,⼀直爹逮到某个终⽌值后结束循环控制--pass:什么也不做,只是占据⼀⾏代码的位置;continue:表⽰⽴即退出本轮循环,不运⾏本轮循环的后续代码,并继续执⾏接下来的循环;break: 表⽰⽴即退出整个循环,后续循环不再执⾏'''
python例题练习:(所有代码在python3.5环境下可运⾏)1.输⼊三个数字,计算三⾓形⾯积周长:
import math
a = float(input(\"请输⼊三⾓形边第⼀条边长:\"))b = float(input(\"请输⼊三⾓形边第⼆条边长:\"))c = float(input(\"请输⼊三⾓形边第三条边长:\"))while True:
if a + b > c and a + c > b and b + c > a: perimeter = a + b + c p = perimeter / 2
g = math.sqrt(p * (p - a) * (p - b) * (p - c)) print(\"三⾓形周长为:%.2f\" % perimeter) print(\"三⾓形⾯积为: %.2f\" % g) else:
print(\"-------------This is not triangle!!----------------\") break
2.⽤户输⼊数字,由电脑来猜:from random import randint
user_input = int(input(\"please input the number you want computer guess>>>:\"))counter = 0low = 1high = 100money = 1000while True:
guess = randint(low, high) print(guess) counter += 1
if user_input == guess:
print(\"congratulation, computer guess right\") print(\"total guess:\", counter) money += 200
print(\"computer has: \",money) if money < 500:
print(\" computer you are fucking stupid!!!!\") quit()
elif user_input > guess: low = guess + 1
print(\"computer guess a higher number\") money -= 100
else: # user_input < guess high = guess - 1
print(\"computer guess a lower number:\") money -= 100
3.和电脑猜⽯头剪⼑布:
from random import randintwhile True:
user_guess=int(input(\"1-- scisoor, 2--stone, 3--handkerchief:\")) cm_guess = randint(1, 3) print(cm_guess)
if user_guess == cm_guess: print(\"no one lose\")
elif user_guess == 1 and cm_guess == 2: print(\"user win\")
elif user_guess == 2 and cm_guess == 3: print(\"computer win\")
elif user_guess == 3 and cm_guess == 2: print(\"user win\")
else: #user_guess == 3 and cm_guess == 1: print(\"computer win\")
4. 打印(2,100)所有素数
import math
def get_prime(maxNum): primeList = []
for x in range(2, maxNum + 1): a = math.sqrt(x)
for prime in primeList: if prime > a:
primeList.append(x) break
if x % prime == 0: break else:
primeList.append(x) return primeListprint(get_prime(100))
5. 打印 '*'
row = int(input(\"please input the number of row:>>>>>\"))for i in range(row): for j in range(row): if j < row - i - 1: print(' ', end = '') else:
print('*', end = '') print()
6. 打印三⾓形的⼤写字母,每⾏的字母⼀样:
for x in range(65, 70): for y in range(, x): print(chr(x), end = '') print()
7. 找出1-10000的⽔仙花数:
from time import timefrom math import sqrtstart = time()
for n in range(1, 10000): my_sum = 0
for factor in range(1,int(sqrt(n)) + 1): if n % factor == 0: my_sum += factor
if factor != 1 and factor != n // factor: my_sum += n // factor if my_sum == n: print(n)end = time()
print((end - start), 's')
8. 五⼈抓鱼问题:A把鱼分成五份后扔⾛⼀条拿⾛⾃⼰那部分,BCDE⽤和A⼀样⽅法分鱼,求鱼⼀共有多少条(本题使⽤穷举法):
fish = 1while True: total = fish
is_enough = True for _ in range(5):
if (total - 1) % 5 == 0:
total = (total - 1) // 5 * 4 else:
is_enough = False break if is_enough:
print(\"the min number of fish is:\", fish) break fish += 1
9. craps 游戏
# craps 游
from random import randint
money = 1000while money > 0:
print('players money:', money) while True:
debt = int(input('please debt:')) if 0 < debt <= money: break
face1 = randint(1, 6) face2 = randint(1, 6) go_on = False
first_point = face1 + face2
print('玩家摇出了%d点' %first_point) if first_point == 7 or first_point == 11: print(\" you win!\") money += debt
print(\"user have: %d\" % money)
elif first_point == 2 or first_point == 3 or first_point == 12: print(\" computer win!\") money -= debt
print(\"user have: %d\" % money) else:
go_on = True while go_on:
face1 = randint(1, 6) face2 = randint(1, 6)
current_point = face2 + face1
print('玩家摇出了%d点' % current_point) if current_point == 7: print(\"user lose!\") money -= debt
go_on = False
print(\"user have: %d\" % money) elif current_point == first_point: print(\"user win!\") money += debt
go_on = False
print(\"user have: %d\" %money)