该干啥干啥去 發表於 2022-3-20 17:48:00

Python 第二次实验

<font size="4">
<p>【1】 (程序设计)三位水仙花数的计算。“三位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 =ABC。请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。</p>
<pre><code class="language-python">for i in range(1,10):
    for j in range(0,10):
      for k in range(0,10):
            if i**3+j**3+k**3==i*100+j*10+k:
                print(i,j,k,sep='',end=', ')
</code></pre>
<p>​</p>
<p>【2】 (程序设计)用户键盘输入一年份, 判断是否为闰年?</p>
<ul>
<li>如果是闰年, 则输出xxx是闰年;</li>
<li>如果不是闰年, 则输出xxx不是闰年;</li>
</ul>
<p>判断闰年的方法:</p>
<p>1). 能被4整除但不能被100整除;<br>
2). 能被400整除;</p>
<pre><code class="language-python">year=int(input())
if (year%4==0 and year%100!=0) or year%400==0 :
    print(year,'是闰年',sep='')
else:
    print(year,'不是闰年',sep='')
</code></pre>
<p>【3】 (程序设计)如果一个数恰好等于它的因子之和,这个数就称为“完数”。例如28=1+2+4+7+14则28就是一个完数。编写程序,输出1000以内的所有完数个数。</p>
<pre><code class="language-python">def check(x):
    sum=0
    for i in range(1,x):
      if x%i==0:
            sum+=i
    return (sum==x)

n=1000
ans=0
for i in range(1,n+1):
    if check(i):
      #print(i)
      ans=ans+1
print(ans)
</code></pre>
<p>【4】 (程序设计)输入两个字符串,判断这两个字符串是否为换位字符串。换位字符串是指组成字符串的字符相同但位置不同,比如字符串”aabbcc"与"abcabc"就是换位字符串,但"aabbcc"与"aabbca"就不是换位字符串。</p>
<pre><code class="language-python">s1=input()
s2=input()
list1=list(s1)
list2=list(s2)
list1.sort()
list2.sort()
if list1==list2:
    print('{}与{}是换位字符串'.format(s1,s2))
else:
    print('{}与{}不是换位字符串'.format(s1,s2))
</code></pre>
<p>【5】 (程序设计)输入三角形三条边,判断是否能构成一个三角形,若能,能构成哪种三角形(等边、等腰、直角、普通 )?</p>
<pre><code class="language-python">a,b,c=float(input()),float(input()),float(input())
if a&gt;b :
    a,b=b,a
if a&gt;c :
    a,c=c,a
if b&gt;c :
    b,c=c,b
if a+b&lt;=c :
    print('不能构成',end='')
else:
    print('能构成',end='')
    if a==b and b==c:
      print('等边',end='')
    elif a==b or b==c:
      print('等腰',end='')
    if a**2+b**2==c**2:
      print('直角',end='')
    elif a!=b and b!=c:
      print('普通',end='')
print('三角形')
</code></pre>
<p>【6】 (程序设计)输入百分制学生成绩,输出对应的五档制制成:<br>
90-100A(优秀)<br>
80-89   B(良好)<br>
70-79   C(中等)<br>
60-69   D(及格)<br>
0-59    E(不及格)<br>
其它成绩输出“非法百分制成绩”</p>
<pre><code class="language-python">n=int(input('请输入百分制学生成绩'))
if 90&lt;=n&lt;=100 :
    print('A')
elif 80&lt;=n&lt;=89:
    print('B')
elif 70&lt;=n&lt;=79:
    print('C')
elif 60&lt;=n&lt;=69:
    print('D')
elif 0&lt;=n&lt;=59:
    print('不及格')
else:
    print('非法百分制成绩')
</code></pre>
<p>【7】 (程序设计)输入用“;“间隔的数字串,计算输入数字的和并输出结果。如输入的数字串为:12;23;34;45</p>
<pre><code class="language-python">s=input()+';'
sum=0
now=0
for i in s:
    if i==';':
      sum=sum+now
      now=0
    else:
      now=now*10+int(i)
print(sum)
</code></pre>
</font><br><br>
来源:https://www.cnblogs.com/alphainf/p/16030766.html
頁: [1]
查看完整版本: Python 第二次实验