入门阶段
1. for循环的概念和用法
for 变量 in 集合:
代码1
代码2
for i in range(0,10): #i 为循环变量, 范围为0到9
print("i=%d" %(i)) #打印i的值
Question1: 农场养了3只兔子, 每隔一年兔子的数量会翻涨到原来的2倍, 问N年后兔子的数量为多少?
pf: 一年后6只, 两年后12只, 三年后24只, 等等。
rabbit=3 #定义变量
N=int(input())
for i in range(0,N):
rabbit=rabbit*2 #每循环一次, 兔子的数量翻一番
print("%d年后,兔子的数量为%d" %(N,rabbit))
Question2: 两个班级同学的名字可能相同, 给出姓名相同的人数
#设置class1和class2两个列表
class1=['Joan','Bill','Niki','Mark','Mark']
class2=['Tom','Linda','Bill']
#运用循环遍历class1, 它的元素与所有的class2的元素作比较
for name1 in class1:
for name2 in class2:
if name1==name2:
print(name1)
运用两次循环比较复杂.
2.python 中的集合概念
创建集合:集合是无序的
a=set()#或者 空集和只能用set()来创建
b={1,2,'abc'}
#打印时默认将重复的元素归一
a='abcd' #字符串
b=[1,2,3] #列表
c=(1,2,'abc') #元组
d={'a':1,'b':2,'c':3} #字典
#可以将它们这些类型转化为集合
test=set(a) #即可转换
添加 or 移除集合中的元素
nums={1,2,3}
nums.add(6) #添加元素
nums.remove(1) #移除元素
print(nums)
交集 | & | .intersection |
并集 | | | .union |
差集 | - | .difference |
num1=int(input('输入班级1学生数量:'))
class1=set()
for i in range(0,num1):
name=input('输入学生%d姓名:'%(i+1))
class1.add(name)
num2=int(input('输入班级2学生数量:'))
class2=set()
for i in range(0,num2): #通过循环, 输入班级2学生的姓名
name=input('输入学生%d姓名:'%(i+1))
class2.add(name) #添加至集合class2
same=class1 & class2 #交集存储到same
print("重名的学生:")
for name in same:
print(name)
3. python字典的概念和创建
dict={key1:value1,key2:value2,...} #字典名={映射键:映射的值, 映射键:映射的值,...}
container={'苹果':'A','桃子':'B','香蕉':'C','梨子':'D'}
print(container) #输出字典
print(container['桃子']) #单独输出某个key
#等价于下面
container=dict()
container['苹果']='A'
container['桃子']='B'
container['香蕉']='C'
container['梨子']='D'
print(container)
name=dict() 创建一个空字典
Question: 苹果5元/斤, 桃子6元, 香蕉3元, 梨子4元, 买了3种水果, 花了27元.
price={'苹果':5,'桃子':6,'香蕉':3,'梨子':4}
print("今日水果价格")
for fruit in price:
print("%s %d元/斤" %(fruit,price[fruit]))
print("")
n=int(input('请输入购买水果的种类数量'))
sum_price=0 #设置sum_price存储总金额
for i in range(0,n): #输入购买的水果名称与数量
fruit=input('输入购买的水果%d的名称' %(i+1))
num=int(input('输入购买的水果%d的数量' %(i+1)))
if fruit in price: #如果输入的水果在price字典中
sum_price += price[fruit]*num
print("总价格为%d" %(sum_price))