Python基礎---課後作業1
阿新 • • 發佈:2018-11-23
1.設計一個程式,幫助小學生練習10以內的加法
#詳情:
#- 隨機生成加法題目;
#- 學生檢視題目並輸入答案;
#- 判別學生答題是否正確?
#- 退出時, 統計學生答題總數,正確數量及正確率(保留兩位小數點);
程式碼:
import random count=0 true_number=0 while True: num1=random.randint(0,9) num2=random.randint(0,9) num=num1+num2 count+=1 print('{}+{}='.format(num1,num2)) student_number=input('請輸入答案:') if student_number=="exit": break elif num==int(student_number): print('回答正確!') true_number+=1 else: print('錯誤') percent=true_number/count print('答題總數:%d,正確數量:%d' %(count,true_number)) print('正確率:%.2f%%' %(percent*100))
執行結果:
#2. 小學生算術能力測試系統:
#設計一個程式,用來實現幫助小學生進行百以內的算術練習,它具有以下功能:
#提供10道加、減、乘或除四種基本算術運算的題目;
#練習者根據顯示的題目輸入自己的答案,程式自動判斷輸入的答案是否正確並顯示出相應的資訊。
此程式程式碼有點繁瑣,可以進行合併,讀者可以自己嘗試
程式碼:
import random op=['+','-','*','/'] for i in range(10): if i<=9: s=random.choice(op) true_number=0 num1=random.randint(0,99) num2=random.randint(0,99) if s=='+': print('{}+{}='.format(num1,num2)) true_number=(num1+num2) result=int(input('請輸入答案:')) if result==true_number: print('true') else: print('wrong.正確答案為{}'.format(true_number)) elif s=='-': print('{}-{}='.format(num1,num2)) true_number=(num1-num2) result=int(input('請輸入答案:')) if result==true_number: print('true') else: print('wrong.正確答案為{}'.format(true_number)) elif s=='*': print('{}*{}='.format(num1,num2)) true_number=(num1*num2) result=int(input('請輸入答案:')) if result==true_number: print('true') else: print('wrong.正確答案為{}'.format(true_number)) else: print('{}/{}='.format(num1,num2)) true_number=(num1/num2) result=float(input('請輸入答案:')) if result==true_number: print('true') else: print('wrong.正確答案為{}'.format(true_number)) else: print('出題結束!')
出十道題後,程式執行結束
3.演算法之指定範圍內判斷
#1). 若一個正整數n的所有小於n的因子之和等於n, 則稱n為完全數, 如6=1+2+3是完全數。判斷正整數n是否為完全數。
#2). 輸入一個正整數,判斷其是否為一個素數
判斷完全數程式碼:
num=int(input('請輸入一個整數:')) sum=0 for i in range(1,num): if num%i==0: sum+=i print('%d的因子有%d' %(num,i)) else: continue if sum==num: print('%d是完全數' %num) else: print('%d不是完全數' %num)
判斷素數程式碼:
num=int(input('請輸入一個整數:'))
if num>1:
for i in range(2,num):
if(num%i)==0:
print('%d不是質數' %num)
break
else:
print('%d是質數' %num)
break
else:
print('%d不是質數' %num)
題目描述:
給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前>後沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
輸入描述:
輸入資料有多組,每組佔一行,包含一個句子(句子長度小於1000個字元)
輸出描述:
對於每個測試示例,要求輸出句子中單詞反轉後形成的句子
示例1:
- 輸入
hello xiao mi - 輸出
mi xiao hello
程式碼:
sentence=str(input('請輸入句子:'))
s=sentence.split(' ')
print(' '.join(s[::-1]))