分支循环相关

分支:

1.判断今天是今年第几天

 1 # __author__ = "wyb"
 2 # date: 2018/3/18
 3 # 判断今天是今年第几天
 4 import time
 5
 6
 7 def demo(year, month, day):
 8     day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
 9     if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
10         day_month[1] = 29
11     if month == 1:
12         return day
13     else:
14         return sum(day_month[:month - 1]) + day
15
16
17 date = time.localtime()
18 y, m, d = date[:3]
19 print(demo(y, m, d))

2.输入分数,输出分数对应等级

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # 判断学生成绩,成绩等级A-E,90分以上为A,80-89为B,70-79为C,60-69为D,60以下为E
 4
 5 score = int(input(">>>"))
 6 if score > 100:
 7     print("请输入正确的分数(0-100)")
 8 elif score >= 90:
 9     print("A")
10 elif score >= 80:
11     print("B")
12 elif score >= 70:
13     print("C")
14 elif score >= 60:
15     print("D")
16 elif score >= 0:
17     print("E")
18 else:
19     print("请输入正确的分数(0-100)")

3.猜年龄

普通版: 允许用户最多尝试3次,3次都没猜到的话就直接退出,如果猜对了,打印恭喜信息并退出

 1 age = 21
 2 count = 0
 3 while count < 3:
 4     guess_age = int(input("age is: ").strip())
 5     if guess_age == age:
 6         print("恭喜你猜对了!")
 7         break
 8     elif guess_age < age:
 9         print("小了")
10     elif guess_age > age:
11         print("大了")
12     count += 1
13 else:
14     print("最多可以尝试3次哦!")

升级版: 允许用户最多尝试3次,每尝试3次后如果还没猜对就问用户是否继续想玩,回答Y或y继续让其猜3次,回答N或n就退出程序,

如果猜对了就直接欢迎然后退出

 1 age = 21
 2 count = 0
 3 flag = True
 4 while flag:
 5     guess_age = int(input("age is: ").strip())
 6     if guess_age == age:
 7         print("恭喜你猜对了!")
 8         break
 9     elif guess_age < age:
10         print("小了")
11     elif guess_age > age:
12         print("大了")
13     count += 1
14     if count == 3:
15         choice = input("是否还想继续猜?(输入y继续,输入其他退出): ")
16         if choice == ‘Y‘ or choice == ‘y‘:
17             flag = True
18             count = 0
19         else:
20             flag = False

循环:

1.任意输入三个英文单词,按字典顺序输出

 1 # __author__ = "wyb"
 2 # date: 2018/3/10
 3
 4 # 任意输入三个英文单词,按字典顺序输出
 5
 6 # 方法1:
 7 # s = input(‘x,y,z=‘)
 8 # x, y, z = s.split(‘,‘)
 9 # if x > y:
10 #     x, y = y, x
11 # if x > z:
12 #     x, z = z, x
13 # if y > z:
14 #     y, z = z, y
15 # print(x, y, z)
16
17 # 方法2:
18 s = input(‘x,y,z=‘)
19 x, y, z = s.split(‘,‘)
20 x, y, z = sorted([x, y, z])
21 print(x, y, z)

2.给一个不超出5位的正整数,判断有几位,并依次打印个位、十位、百位、千位、万位

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # (1)给一个不超出5位的正整数,判断有几位,并依次打印个位、十位、百位、千位、万位:
 4 # (2)还有没有更好的打印方法? 如果需求是从万位到个位打印呢?
 5
 6 # (1):
 7 # n = int(input(">>>"))
 8 # print(n)
 9 # i = 0       # 计数
10 # while n:
11 #     print(n % 10)
12 #     n = n//10           # 地板除法(类C语言) -> 5/2 == 2
13 #     i += 1
14 #
15 # print(i)
16
17 # (2): 循环:
18 # n = int(input(">>>"))
19 # print(n)
20 # # 确定位数:
21 # if n >= 1000:
22 #     if n >= 10000:
23 #         num = 5
24 #     else:
25 #         num = 4列表
26 # else:
27 #     if n >= 100:
28 #         num = 3
29 #     elif n >= 10:
30 #         num = 2
31 #     else:
32 #         num = 1
33 # # 从第一位开始输出:
34 # print(num)
35 # pre = 0
36 # for i in range(num, 0, -1):
37 #     cur = n//(10**(i-1))
38 #     print(cur - pre*10)
39 #     pre = cur
40
41 # (2): 递归函数:
42 def func(n):
43     if n//10 == 0:
44         print(n)
45         return
46     else:
47         func(n//10)
48         print(n % 10)
49
50 n = int(input(">>>"))
51 print(n)
52 func(n)

3.打印边长为N的正方形

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # 打印边长为N的正方形:
 4
 5 # 长和宽上的符号个数相等但是由于每一行之间存在距离,所以看起来不像正方形
 6 # N = int(input(">>>"))
 7 # for i in range(0, N):
 8 #     if i == 0 or i == N-1:
 9 #         for j in range(0, N):
10 #             print("*", end="")
11 #     else:
12 #         for j in range(0, N):
13 #             if j == 0 or j == N-1:
14 #                 print("*", end="")
15 #             else:
16 #                 print(" ", end="")
17 #     # 换行:
18 #     print("")
19
20 # 调整之后:
21 N = int(input(">>>"))
22 for i in range(0, N):
23     if i == 0 or i == N-1:
24         for j in range(0, 2*N):
25             print("*", end="")
26     else:
27         for j in range(0, 2*N):
28             if j == 0 or j == 2*N-1:
29                 print("*", end="")
30             else:
31                 print(" ", end="")
32     # 换行:
33     print("")

4.打印以下菱形:

    *   ***  ***** *******  *****   ***    *
 1 # __author__ = "wyb"
 2 # date: 2018/2/25
 3
 4 # 打印以下菱形:
 5 #     *
 6 #    ***
 7 #   *****
 8 #  *******
 9 #   *****
10 #    ***
11 #     *
12
13 for i in range(-3, 4):
14     if i < 0:
15         pre_space = -i
16     else:
17         pre_space = i
18     print(" " * pre_space + ‘*‘ * (7 - pre_space * 2))

5.打印菱形拓展:

   *  ** **********   ***   **   *
 1 # __author__ = "wyb"
 2 # date: 2018/2/25
 3
 4 # 打印以下图形:
 5 #     *
 6 #    **
 7 #   ***
 8 #  *******
 9 #     ***
10 #     **
11 #     *
12
13 for i in range(-3, 4):
14     if i < 0:
15         print(" " * (-i) + "*" * (4 + i))
16     elif i > 0:
17         print(" " * 3 + "*" * (4 - i))
18     else:
19         print("*" * 7)

6.菲薄纳西数列:(1)打印100以内的菲薄纳西数列(2)求菲薄纳西数列的第101项

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # (1)打印100以内的菲薄纳西数列
 4 # (2)求菲薄纳西数列的第101项
 5
 6 # (1):
 7 number_first = 1
 8 number_second = 1
 9 while True:
10     print(number_first)
11     if number_second > 100:
12         break
13     number_first, number_second = number_second, number_first + number_second
14
15 # (2):
16 number_first = 1
17 number_second = 1
18 count = 1
19 while True:
20     if count == 101:
21         print(number_first)
22     count += 1
23     number_first, number_second = number_second, number_first + number_second

7.质数: (1)判断一个数是否是素数(质数)(2)求1万内的素数

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # (1)判断一个数是否是素数(质数)
 4 # (2)求1万内的素数
 5 # 关于质数: 一个大于1的自然数只能被1和它本身整除
 6
 7 # (1):
 8 # number = int(input(">>>"))
 9 # if number == 2:
10 #     print("is prime")
11 # else:
12 #     for i in range(2, number):
13 #         if number % i == 0:
14 #             print("not prime")
15 #             break
16 #     else:
17 #         print("is prime")
18
19
20 # (2):
21 import time  # 引入模块
22
23 count = 1  # 计数
24 print(2)
25 start_time = time.time()
26 for number in range(3, 10000, 2):
27     i = 2
28     while True:
29         i += 1
30         if number % i == 0:
31             break
32         if i * i >= number:
33             print(number)
34             count += 1
35             break
36 end_time = time.time()
37 t = end_time - start_time
38
39 print("\n", count)
40 print(t)

8.求1到5的阶乘之和: 1! + 2! + 3! + 4! + 5! == 153

 1 # __author__ = "wyb"
 2 # date: 2018/2/21
 3 # 求1到5的阶乘之和: 1! + 2! + 3! + 4列表! + 5!  == 153
 4
 5 # (1)递归函数求阶乘之和:
 6 # def fact(number):
 7 #     if number <= 1:
 8 #         return 1
 9 #     else:
10 #         return number * fact(number - 1)
11 #
12 # sum_fact = fact(1) + fact(2) + fact(3) + fact(4列表) + fact(5)
13 # print(sum_fact)
14
15
16 # (2)循环求阶乘之和:
17 num = 1
18 x = 0
19 for n in range(1, 6):
20     num *= n
21     x += num
22 print(x)

9.打印九九乘法表

1 # __author__ = ‘wyb‘
2 # date: 2018/2/22
3
4 for i in range(1, 10):
5     for j in range(1, i+1):
6         print(str(j) + " X " + str(i) + " = " + str(i * j) + ‘\t‘, end=‘ ‘)
7     print()

原文地址:https://www.cnblogs.com/wyb666/p/8796734.html

时间: 2024-11-19 05:32:52

分支循环相关的相关文章

IDEA中Git分支未push的变更集如何合并到另一个分支

使用rebase命令 刚开始,A分支和B分支的代码是一样的,把A分支checkout 为当前分支,并且修改了代码,进行[commit]和[push],commit成功了,但是push没有权限. 这个时候在checkout 到B分支,之前的修改已经没有了,它被提交到了A分支上去了,该怎么办? 这时应该在上面的那个情况时(即当前先[Checkout]到A分支),然后选择B分支的[Checkout with Rebase]. 待成功后,就会把A分支已经提交(commit)过的变更集,在B分支上也提交(

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

java-分支结构(四种基本分支结构的认识)

分支结构:有条件的执行某语句,并非每句必走 1)if结构:1条路 2)if...else结构:2条路 3)if...else if结构:多条路 4)switch...case结构:多条路 优点:效率高.结构清晰 缺点:整数.相等 break:跳出switch 一.if结构的认识 /* * 1.if结构:1条路 * 1)语法: * if(boolean){ * 语句块 * } * 2)执行过程: * 判断boolean的值: * 若为true,则执行语句块 * 若为false,则不执行语句块 */

[廖雪峰] Git 分支管理策略

通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下 --no-ff 方式的 git merge: 首先,仍然创建并切换 dev 分支: $ git checkout -b dev Switched to a new branch 'dev' 修改 readme.txt

分支语句

语句的分类:顺序语句,分支语句(选择.条件),循环语句分支语句:1  if(表达式(要么是true,要么是false)){}2  if(){}else{} 二选一3  if(){}elseif(){}···else{} 多选一4  if的嵌套 多选一 嵌套 输入年份,判断是闰年还是平年? 输入日期判断格式是否正确 顺序排列  x,y,z按从小到大的顺序排列 switch case

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

eclipse推送远程分支到gitbucket

一.截图 我这里没有导入jdk和第三方依赖,只是给源码分享上去,目的是方便以后转换成maven项目. 二.操作 1.分享项目( Share Project) 选中 GIT 点击Next 2.项目初始化(init) 框选 Use or create repository in ..... 点击Create Repository 按钮 点击完毕后 会出现.git字样,点击 finish 完成 文件夹上显示? 3.添加文件(add) 点击src 右键 Team àAdd to index 注意:如果你

git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支

实际问题:   在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支上? 办法之一: 使用 cherry-pick.  根据git 文档: Apply the changes introduced by some existing commits 就是对已经存在的commit 进行apply (可以理解为再次提交) 简单用法: git cherry-pick <com

Git分支管理

首先,我们创建dev分支,然后切换到dev分支 $ git checkout -b dev git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch dev $ git checkout dev 然后,用git branch命令查看当前分支: $ git branch * dev master git branch命令会列出所有分支,当前分支前面会标一个*号 然后 我们就可以在dev分支上正常提交,比如新建一个hello.txt文件 进行提交 $ g