Python—H02 and H03 控制结构i and ii
2019.12.19日
谁做了好事
4个人中有一人做了好事,已知有三个人说了真话,
根据下面对话判断是谁做的好事。
A说:不是我
B说:是C
C说:是D
D说:C胡说
请用不多于3行的代码实现上述程序,从而给出谁做了好事。
for person in ['A', 'B', 'C', 'D']: #没想到还要用for来遍历ABCD谁做了好事,记住有引号
if (person!='A')+(person=='C')+(person=='D')+(person!='D')==3: #关键是person是谁,所以三个条件成立即可,记住吧,经典题型
print(person,"做了好事!")
圆的位置关系
描述
在游戏编程中,经常需要检测两个图形之间的关系; 编程判断平面内两个圆的位置关系;
设两个圆半径分别为R和r(R>=r),两圆心距为d,则
1)外离 (d>R+r);
2)外切 (d=R+r);
3)相交 (R−r<d<R+r);
4)内切 (d=R−r,R≠r);
5)内含 (d<R−r);
6)重合 (d=0,R=r);
两个圆的圆心位置和半径由用户输入,代码如下:
import math
circle1_x,circle1_y = eval(input())
radius1 = float(input())
circle2_x,circle2_y = eval(input())
radius2 = float(input())
d = math.hypot(circle1_x - circle2_x,circle1_y-circle2_y)
your code here
请添加条件语句,使得程序能够根据输入的圆心位置和半径,输出两个圆的位置是6种中的哪一种。
import math
# 输入第一个圆的圆心,值用逗号隔开
circle1_x,circle1_y = eval(input())
# 输入第一个圆的半径
radius1 = float(input())
# 输入第二个圆的圆心,值用逗号隔开
circle2_x,circle2_y = eval(input())
# 输入第二个圆的半径
radius2 = float(input())
# 计算圆心距离
d = math.hypot(circle1_x - circle2_x,circle1_y-circle2_y)
# your code here
# 编写分支结构,输出圆的位置关系
if d>(radius1+radius2):
print ("外离")
elif d==(radius1+radius2):
print("外切")
elif d>abs(radius1-radius2):
print("相交")
elif d==abs(radius1-radius2):
print("内切")
elif d<abs(radius1-radius2):
print("内含")
else:
print("重合")
打印1到n之间的所有素数
描述
1.首先定义一个函数名为isprime, 它有一个形参a_integer; 如果a_integer是素数,则函数返回True;否则返回False。
- 通过input()输入一个正整数n, 然后借助isprime,打印出1到n之间的所有素数,包括n。(如果n是素数,n也应当被打印出来。)
输入格式
输入使用input(),不要增加额外的提示信息
输出格式
每个素数向左对齐,宽度为5,素数之间用空格隔开,每10个素数为一行 。
比如下面的语句,使用format就可以将 i 按照向左对齐,宽度为5的格式输出。
print("{0:<5d}".format(i))
输入输出示例
输入 输出
示例 1
50
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47
def isprime(a_integer): #当时一直写不对,最后都不知道哪里出问题了
for i in range(2,a_integer,1): #一开始一直没有输出。。发现我居然从一开始;还有就是这个是有缩进的
if (a_integer%i==0):
return False #别把return忘了
break
return True #搞清楚和谁对齐!!!!
z=0 #为了方便十个一行输出
n=int(input())
for s in range(2,n+1,1): #记住第二个是n+1
if(isprime(s)==True): #请别再忘了冒号了
print("{0:<6d}".format(s),end="")#格式化输出,记住{0:<6d};别忘了末尾的end,否则输出格式不对
z=z+1 #你这个也忘,,没话说了
if z%10==0:
print("") #10个一行的方法
来源:CSDN
作者:小眠眠
链接:https://blog.csdn.net/qq_45550139/article/details/103620879