for循环,列表和格式化输出

一:for 循环

1.          简单的说如果让你输出1到100之间的整数,用while该怎么实现呢?

i=0

while i<100:

  print(i)

  i+=1

 

  

             看着是不是只有4行,但是有没有更加简单的办法,不妨我们使用for循环来试一下

for i in range(1,101,):
  print(i)          

 

         是不是更加简单,所以说我们总会选择最简单的方法去达到我们的目的
九九乘法表:使用while
while i <= 9:
    j = 1
    while j <= i:
        print(str(j) + "*" + str(i) + "=" + str(j * i), end="\t")
        j += 1
    print()
    i += 1

结果:

1*1=1    
1*2=2    2*2=4    
1*3=3    2*3=6    3*3=9    
1*4=4    2*4=8    3*4=12    4*4=16    
1*5=5    2*5=10    3*5=15    4*5=20    5*5=25    
1*6=6    2*6=12    3*6=18    4*6=24    5*6=30    6*6=36    
1*7=7    2*7=14    3*7=21    4*7=28    5*7=35    6*7=42    7*7=49    
1*8=8    2*8=16    3*8=24    4*8=32    5*8=40    6*8=48    7*8=56    8*8=64    
1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81    

如果使用for循环

 

 


2. 输出1到100之间的偶数
for i in range(1,101,):
    if i%2==0:
  print(i)

输出

for i in range(1,101,2): print("loop:",i)

 


3. break的双重用法
exit_flag=False
for i in range(10):
    if i<5:
        continue
        print(i)
    for j in range(10):
        print(j)
        if j==6:
            exit_flag=True
            break
    if exit_flag:
        break

 

4...
for循环中,如果执行break,则下面的就不执行
(1)            程序: 三次登录
# _user="sang"
# _password="123"
# for i in range(0,3):
#     username=input("Username:")
#     password=input("Password")
#     if username==_user and password==_password:
#         print("Welcome %s to login"% _user)
#         break#跳出,中断
#     else:
#         print("Invilid username or password")

 



比较:
#for循环更加简单的比较
# _user="sang"
# _password="123"
# for i in range(0,3):
#     username=input("Username:")
#     password=input("Password")
#     if username==_user and password==_password:
#         print("Welcome %s to login"% _user)
#         break#跳出,中断
#     else:
#         print("Invilid username or password")
# else:
#     print("执行次数太多!")_user="sang"

  


再次比较:
_user="sang"
_password="123"
passed_anthentication=False                #anthentication认证
for i in range(0,3):
    username=input("Username:")
    password=input("Password")
    if username==_user and password==_password:
        print("Welcome %s to login"% _user)
        passed_anthentication=True
        break#跳出,中断
    else:
        print("Invilid username or password")
if not passed_anthentication:
    print("输入次数太多!")

  


二:格式化输出 基本的格式化,语法为: 格式化符号 % 格式化对象
ctrl d 直接粘贴到下一行 ctrl ?    注释多行
name = input("Name:")
age = input("Age:")
job = input("Job:")
salary = input("Salary:")
msg = '''
------------- info of %s  -----------------
Name: %s
Age : %s
Job : %s
Salary: %s
------------ end ----------------
''' % (name,name,age,job,salary)
print(msg)    

 


加深比较:
name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
salary = input("Salary:")
if salary.isdigit():
    salary=int(salary)
else:
    print("must input digit")
    exit()#退出程序
msg ='''
-------------info of %s -----------------
name: %s
age: %d
job: %s
salary: %f
you will be retired in %s years
------------end----------------
 '''% (name,name,age,job,salary,100-age)
print(msg)

 



三: 列表 list
(1) a=("aaa","bbb","ccc","ddd","eee") 元组里进行的 切片:取多个元素
print(a[1:])   取到最后面
a[1:4]取下标一到下标4的数字,包括1但是不包括4
print(a[1:-1])取到倒数第二位
print(a[1:-1:1])从左到右一个一个取
print(a[1::2])从左到右隔一个去取
(2)以下这些操作只能在列表里进行: 列表的一些操作命令
#a=["aaa","bbb","ccc","ddd","eee"]
#删除
#a.remove("ccc") remove("内容")
#a.pop(2) pop(index)默认尾部删除,可指定索引值
#del a[2] del a del a[index]
#a.clear()清空
#增加
#a.append("zzz")追加一个数
#a.insert(1,"ccc") a.insert(index,"内容")
#a.extend("h") 扩展
#修改
#a[2]="mmm" a[index]="新的值"
#a[1:3]=[111,222,333] a[start:end]=[a,b,c]
a=[2,5,3,9,2,7]
#a.sort() 排序,默认升序
#a.reverse() 反序
#b=a.count("2") 查找元素的个数
# b=["f","g","h"]
# b.extend(a) 连接列表
print(b)

(3)以下是一个简单的购物车程序,

goods_list=[("iphone",6000),("book",500),("watch",2000),("coffee",100),("icecream",50)]#定义商品列表
salary=input("Your salary is:")   #定义你的工资
shop_list=[]  #定义购物车列表
if salary.isdigit():
    salary=int(salary)
    while True:

        for i,j in enumerate(goods_list,1):
            print (i,">>>>>>>>>>>",j)
        choice=input("选择需要购买商品的编号[退出: q]:")
        if choice.isdigit():
            choice=int(choice)
            if choice>0 and choice<=len(goods_list):
                p_item=goods_list[choice-1]
                if p_item[1]<salary:
                    salary-=p_item[1]
                    shop_list.append(p_item)
                else:
                    print("余额不足,还剩%s"%salary)
                print(p_item)
            else :
                print("编码不存在")
        elif choice=="q":
            print("--------已购买如下-----------商品")
            for i in shop_list:
                print(i)
            print("您还有余额为:%s"%salary)
            break
else:
    print("invalid input")

 



 

转载于:https://www.cnblogs.com/mars527/p/5801182.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值