1、使用while循环输入 1 2 3 4 5 6 8 9 10
1 i = 1
2 while i<=10:
3 if i==7:
4 i += 1
5 else:
6 print(i)
7 i+=1
分析:
★循环10以内的,只要判断变量i小于11或小于等于10就为真即可;
★只有一个7是特殊不输出,所以如果变量等于7的话,只做加1,不打印即可,其他则打印并加1。
2、求1-100的所有数的和
1 i = 1
2 sum = 0
3 while i<=100:
4 sum += i
5 i += 1
6 print(sum)
分析:
★循环100以内的数的和,只要判断i变量小于101或小于等于100就为真即可;
★所有数的和等于每次循环的和加变量,循环完毕在打印和即可
输出结果为:5050
3、输出 1-100 内的所有奇数
1 nub = int(input("请输入想计算多少以内的奇数和:"))#输100即可 int为转换输入的为数字
2 i = 1
3 sum = 0
4 while i<=nub:
5 if i%2!=0:
6 sum += i
7 i += 2
8 else:
9 i += 1
10 print(sum)
分析:
★循环100以内的数的和,只要判断i变量小于101或小于等于100就为真即可;
★奇数为1,3,5,所以判断1除以2取余不等于0的话就为奇数,并把奇数加起来即可。
★上一步已经判断出是奇数了,所有每次加2就得到下一个奇数,不用执行else.
输出结果为:nub=100结果为2500
4、输出 1-100 内的所有偶数
1 i = 1
2 sum = 0
3 while i<=100:
4 if i%2==0:
5 sum = sum + i
6 i += 2
7 else:
8 i += 1
9 print(sum)
分析:
★循环100以内的数的和,只要判断i变量小于101或小于等于100就为真即可;
★奇数为2,4,5,所以判断1除以2取余等于0的话就为偶数,并把偶数加起来即可。
★上一步已经判断出是偶数了,所有每次加2就得到下一个偶数,不用执行else.
输出结果为:100以内的偶数和为2550
5、求1-2+3-4+5 ... 99的所有数的和
1 odd,even,i = 0,0,1
2 while i<100:
3 if i%2==0:
4 even += i
5 i += 1
6 else:
7 odd += i
8 i += 1
9 print(odd-even)
分析:
★通过要求可知:奇数都为正,偶数都为负,可以把奇数的和减轻偶数的和就是结果;
★变量3个,奇数和,偶数和,数字变量。循环小于100为真即可;
★如果数字除2取余为零,为偶数,加偶数的和.否则为奇数,加奇数的和即可,循环完毕,打印奇数和减偶数和为结果。
输出结果为:50
1 sum,even,i = 0,0,1
2 while i<100:
3 sum += 1
4 if i%2==0:
5 even += i
6 i += 1
7 else:
8 i += 1
9 print(sum-2*even)
思路:
★通过要求可知:奇数都为加,偶数都为减,可以先计算1-99的和,再减去偶数等于奇数和,再减去偶数就等于结果;
★变量3个,总和,偶数和,数字变量。循环小于100为真即可;
★循环计算1-99的和,判断是否是偶数,并计算偶数和。如果是奇数则加1即可;
★打印总和减去2次偶数就可以算出总和。
输出结果为:50
6、用户登陆(三次机会重试)
1 name,pswd,i = "zn" ,"123456",1
2 while i < 4:
3 input_name = input("Username:")
4 input_pswd = input("Password:")
5 if input_name == name and input_pswd == pswd:
6 print("Welcome to my program!")
7 break
8 else:
9 print("The user name or password you entered is incorrect. Please enter again.")
10 i += 1
11 continue
12 print("Enter more than 3 times, goodbye!")
分析:
★变量定义用户名,密码,数字,数字用于判断输入次数;
★判断变量i小于3为真,交互让用户输入账号和密码;
★如果输入的账号与密码等于变量用户名和密码则输出欢迎信息并退出break,如果不是则输出用户名或密码不正确再重新输入,并将变量i+1,退出本次循环contiune。
★如果i=4了则不执行循环,直接输出你已经输入超过3次,再见!
7.用户登录三次锁死代码
5USERNAME,PASSWORD = "zn","123456"
6 print("\033[31;1m信息查询系统\033[1m".center(45,"="))
7 for i in range(3):
8 user = input("请输入账号:")
9 file = open("user","r")#打开文件,只读
10 b = True #用于外循环使用
11 for line in file:#读取每行数据
12 if line.strip() == user:#取消掉换行符,字符串strip用法
13 print("\033[31;1m你输入的账号已被锁定,再见!\033[1m")
14 file.close()
15 b = False #外循环跳出条件
16 break
17 if b is False:#跳出外循环
18 break
19 pasw = input("请输入密码:")
20 if i == 2:#判断程序执行第三次,执行写入文件
21 file = open("user","a")
22 file.write("%s\n"%user)
23 file.close()
24 print("你输入的次数太多,账号已被锁定。")
25 break
26 if user == USERNAME and pasw == PASSWORD:#用户名和密码都正确返回信息。
27 print("\033[31;1m登录成功\033[1m".center(46,"="))
28 print("欢迎 %s 回来。"%user)
29 print("=".center(50,"="))
30 break
31 if user != USERNAME or pasw != PASSWORD:#判断账号或密码不正确的情况下提示
32 print("\033[31;1m账号或密码错误,请重新输入!\033[1m")
33 print("".center(38,"="))
34 continue
分析:
★首先实现登录交互,使用for循环实现输入错误三次就退出程序
★要实现在下一次打开程序技能读取到锁定的程序,那么就用的文件读写,我们只要把最后一次输入错误的用户名写入文件中即可;
★在打开的时候,用户输入账号就需要读取文件并判断是否存在文件中,存在就提示被锁死,退出,不存在就继续输入密码。
★需要注意读取文件中每一行使用for循环读取,判断line的时候需要将line的换行符去掉,print(line,)或者print(line.strip())