首页 > 其他分享 >3.流程控制语句

3.流程控制语句

时间:2023-01-08 18:45:15浏览次数:38  
标签:语句 控制 输出 int 流程 range print input 输入

1.已知点的坐标(x, y),判断其所在的象限。

x = int(input("请输入x的坐标:"))
y = int(input("请输入y的坐标:"))
if x > 0 and y > 0 :
    print("第一象限")
elif x < 0 <= y :
    print("第二象限")
elif x < 0 and y < 0 :
    print("第三象限")
elif x >= 0 > y :
    print("第四象限")
elif x == 0 and y == 0 :
    print("原点")

输出结果:

请输入x的坐标:3
请输入y的坐标:6
第一象限

请输入x的坐标:-6
请输入y的坐标:5
第二象限

请输入x的坐标:-9
请输入y的坐标:-5
第三象限

请输入x的坐标:1
请输入y的坐标:-2
第四象限

请输入x的坐标:0
请输入y的坐标:0
原点

2、请根据BMI公式(体重除以身高的平方)计算BMI指数,

BMI指数如下:低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
请输入小明身高1.75和体重80.5kg,用if-elif语句帮小明判断并打印BMI结果。

weight = float(input("请输入体重(kg):"))
height = float(input("请输入身高(m):"))
BMI = weight / height ** 2
print("BMI:")
if 0 < weight < 18.5 :
    print("过轻")
elif 18.5 <= BMI < 25 :
    print("正常")
elif 28 <= BMI < 32 :
    print("肥胖")
else:
    print("严重肥胖")

输出结果:

请输入体重(kg):66
请输入身高(m):190
BMI:
严重肥胖

 

3、输入一个数字,按照如下条件处理:如果该数字各位数之和为奇数,则将该数各位数逆序输出(如输入122,则输出为221);如果该数字各位数之和为偶数,则直接输出该数字(如输入123,则输出为321)。

a = int(input("请输入一个三位数:"))
b = int(a % 10)
c = int(a // 10) % 10
d = int(a // 100)
#print("{}={}+{}*10+{}*100".format(a, b, c, d))
f = (b+c+d)
print("各数字之和为",f)
if ((b + c + d) % 2 == 0) :
    print("输出偶数:", a)
else :
    a = str(a)
    print("输出奇数", a[: :-1])

输出结果:

请输入一个三位数:122
各数字之和为 5
输出奇数 221

请输入一个三位数:123
各数字之和为 6
输出偶数: 123

方法二:

a = int(input("请输入一个数:"))
# 百位
baiw = int(a/100)
# 十位
shiw = int(a/10)%10
# 个位
gew = a%10
# 求和
he = baiw + shiw + gew

if he %2 == 0:
    # 偶数
    print("偶数,直接输出", a)
else:
    print("奇数,逆序输出",gew,shiw,baiw)

输出结果:

请输入一个数:>? 123
偶数,直接输出 123

请输入一个数:>? 122
奇数,逆序输出 2 2 1

 

4、请分别使用while和for语句输出1至100的奇数和。

# while语句
i=1
sum = 0
while i<=100:
    if i%2 !=0:
        sum=sum +i
    i+=1
print("1-100的奇数累积和为:%d"%sum)

输出结果:

1-100的奇数累积和为:2500
#for语句
sum=0
for n in range(1,101):
    if (n%2==1):
        sum=sum +n
print ("1-100的奇数和=",sum)

输出结果:

1-100的奇数和= 2500


5、编写程序输出1到100中同时被3和5整除的数。

for a in range(1,101):
    if a%3==0 and a%5==0:
        print('被3和5整除',a)

输出结果:

被3和5整除 15
被3和5整除 30
被3和5整除 45
被3和5整除 60
被3和5整除 75
被3和5整除 90

 


6、有3、5、7、8、9共五个个数字,能组成多少个互不相同且无重复数字的三位数,并输出这些数字。

from random import random

import list1 as list1
import lst as lst

number = [3, 5, 7, 8, 9]
for x in range(0, 5):
    for y in range(0, 5):
        for z in range(0, 5):
            if not (x == y or y == z or x == z):
                print('{} {} {}'.format(number[x], number[y], number[z], ))
f = 5 * 4 * 3
print("能组成互不相同且无重复数字的三位数:", f)

输出结果:

3 5 7
3 5 8
3 5 9
3 7 5
3 7 8
3 7 9
3 8 5
3 8 7
3 8 9
3 9 5
3 9 7
3 9 8
5 3 7
5 3 8
5 3 9
5 7 3
5 7 8
5 7 9
5 8 3
5 8 7
5 8 9
5 9 3
5 9 7
5 9 8
7 3 5
7 3 8
7 3 9
7 5 3
7 5 8
7 5 9
7 8 3
7 8 5
7 8 9
7 9 3
7 9 5
7 9 8
8 3 5
8 3 7
8 3 9
8 5 3
8 5 7
8 5 9
8 7 3
8 7 5
8 7 9
8 9 3
8 9 5
8 9 7
9 3 5
9 3 7
9 3 8
9 5 3
9 5 7
9 5 8
9 7 3
9 7 5
9 7 8
9 8 3
9 8 5
9 8 7
能组成互不相同且无重复数字的三位数: 60

方法二:

import random
lst = [5, 6, 7, 8, 9]
st = set()
# 概率
for i in range(1000):
    # 用列表中的数字组成随机数的样本
    lst1 = random.sample(lst, 3)
    # 排除重复的数字
    lst1 = [str(a) for a in lst1]
    lst2 = "".join(lst1)
    st.add(lst2)

print("共有 {0} 个数字,分别为:{1}".format(len(st), st))

输出结果:

共有 60 个数字,分别为:{'867', '689', '569', '875', '785', '678', '789', '796', '856', '695', '687', '659', '756', '578', '587', '879', '798', '795', '568', '567', '586', '597', '675', '589', '869', '698', '896', '859', '786', '579', '697', '768', '965', '769', '598', '968', '876', '976', '985', '978', '765', '685', '865', '956', '957', '897', '576', '987', '657', '975', '759', '895', '986', '679', '596', '758', '958', '857', '658', '967'}

 

7、用for循环实现用户登录

要求如下:
提示输入用户名和密码。
判断用户名和密码是否正确(name=admin,passwd=123456)。
登录仅有三次机会,超过3次会报错。

for i in range(3):
    name = input('请输入用户名:')
    passwd = input('请输入密码:')
    if name == 'admin' and passwd == '123456':
        print('密码正确!')
        break
    else:
        print('密码错误')
        print('你还有 %d 次机会' % (2 - i))
else:
    print('请退出重新登录!')

方法二:

for i in range(3):
    name = input("请输入用户名:")
    passwd = input("请输入密码:")
    if name == "admin" and passwd =="123456":
        print("登录成功")
        break
else:
    print("登录次数过多,登录失败")

 

输出结果:

请输入用户名:admin
请输入密码:123456
密码正确!

请输入用户名:admin
请输入密码:2344t
密码错误
你还有 2 次机会
请输入用户名:


请输入用户名:admin
请输入密码:2345
请输入用户名:admin
请输入密码:123653
请输入用户名:admin
请输入密码:23344
登录次数过多,登录失败
请输入一个数字

 


8、使用for循环计算7的阶乘。

sum = 7
for n in range(1, 7):
    sum = sum * n
print("7的阶乘=", sum)

输出结果:

7的阶乘= 5040
# 使用for循环计算7的阶乘
a = int(input("请输入一个数字"))
n = 1
if a< 0:
    print("负数没有阶乘")
elif a == 0:
    print("0的阶乘为1")
else:
    for i in range(1, a + 1):
       n = n * i
    print("结果=", n)

# 递归函数实现阶乘
def fact(n):
    if n==0:
        return 1
    else:
        return n * fact(n-1)
print("结果=", fact(7))

# 使用数学函数实现阶乘
import math
print("结果=", math.factorial(7))

# 使用lambda实现阶乘
from  functools import reduce
a = reduce(lambda x, y:x*y, range(1, 8))
print("结果=", a)

 


9、由星号组成的等边三角形。

n = eval(input("请输入一个整数:"))
for i in range(1, n + 1, 2):
    print("{0:^{1}}".format('*' * i, n))
请输入一个整数:9
    *    
   ***   
  *****  
 ******* 
*********

 

标签:语句,控制,输出,int,流程,range,print,input,输入
From: https://www.cnblogs.com/huangfeilonghfl/p/17035072.html

相关文章

  • 钡铼技术工业级嵌入式 ARM 控制器
    嵌入式ARM控制器BL301/BL302系列是工业级坚固型工业控制器,采用NXP的高性能处理器I.MX6ULL,搭配先进的ARMCortex-A7构架,运行速度高达800MHz,具有高度的稳定性。本产......
  • 接入jira OAuth权限流程
    如果要在自己的系统中操作jira的api完成这些单据的创建、审批等操作,就不得不要先完成jira的第三方授权,才能在第三方系统去做这些jira的操作。首先必须在jira系统配置客......
  • lsposed运行流程分析
    xposed适用的最高版本为android8.0,针对高版本的ARTHOOK框架可以使用比较有名的lsposed。它使用了lsplantARTHOOK框架(早期使用YAHFA)并提供了和xposed一样的接口API与其......
  • Java 流程控制
    Java流程控制用户交互Scannerjava.util.Scanner是Java5的特征Scanner类是用于获取用户的输入通过Scanner类的next()和nextLine()方法获取输入的字符串读取前需要使......
  • .NET Core定时任务(控制台程序) cron表达式+Quartz
    .NETCore定时任务(控制台程序)https://www.cnblogs.com/Simple-520/p/15753898.html1、首先定时任务适合的程序是控制台程序2、NETCore中定时任务程序中一共三个文件(1):a......
  • 基于Qlearning强化学习的倒立摆控制系统matlab仿真
     1.算法描述         强化学习通常包括两个实体agent和environment。两个实体的交互如下,在environment的statestst下,agent采取actionatat进而得到rewardrtrt......
  • 04-流程控制+循环
    (一):流程控制介绍流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,这三种结构代表三种代码执行的顺序顺序流程控制顺序结构是程序中最简单的、最基本的流......
  • 循环语句的语法:while/for/do..while/break和continue的使用以及冒泡法代码实现
    1、将两个变量的值交换.2、将一个数组中的数倒序输出. 3、找出数组里面最大的值,并返回 4、将数组所有的元素相加,将结果返回 5、将两个等长数组......
  • 多路DO转4G远程报警控制器S274
    S27X内嵌工业级GSM/GPRS/3G/4G通信模块,集成稳定可靠的32位高性能微处理器MCU,基于UCOSII嵌入式实时操作系统,提供8路数字量输入,6路模拟量输入,4路继电器输出以及......
  • Golang入门到实战核心编程-第五章-程序流程控制
    目录1.程序流程控制1.1程序流程个控制介绍1.2三大流程控制介绍及案例1.2.1顺序流程控制1.2.1.1顺利流程控制介绍1.2.1.2顺序流程控制流程图1.2.1.3顺序流程控制案例......