q1:請輸出name變數中的e的索引
name='streing e endse'count=0
while count < len(name):
if name[count] == 'e':
print(count)
count += 1
q2:判斷輸入的數是幾位數
答案1:while true:
num=int(input("請輸入乙個數字:"))
count = 1
while true:
if num // (10**count):
count+=1
continue
else:
print("%s是%s位數" % (num, count))
break
答案2:
重點:用死迴圈去讓這個數一直除10,能夠除幾次,就是幾位數.如果是負數,那麼是得不到0的,所以要加乙個絕對值轉換
num=int(input("請輸入乙個整數:")
num=abs(num)
count=0
while 1:
num = num // 10
count += 1
if num == 0:
break
print(count)
q3:判斷標語是否合法
重點:if...in...的用法,注意不能使用 if ('','',) in ...這種寫法
while true:content=input("請輸入廣告標語:")
if "最" in content or "第一" in content or "稀缺" in "國家級":
# if ["最","第一","國家級"] in content: 錯的
print("不合法")
else:
print("合法")
q4:判斷輸入的數是否是質數答案1:
重點:質數的判斷不僅僅這一種寫法,作為入門級別的題目,很鍛鍊思路
num=int(input("請輸入乙個大於1的自然數:"))count=2
while count使用for..else...迴圈去做除數
for i in range(2,1001):for j in range(2,i):
if i % j == 0:
# print(f"不是質數")
break
else:
print(f"是質數")
q5:判斷輸入的數字是否是小數 重點:判斷是否是小數,要盡可能的考慮多種可能性
while 1:num=input("請輸入乙個數字:")
num_1=num.replace("-","")
if num.count(".") == 1 and not num_1.startswith(".") and not num_1.endswith("."):
print(f'是小數')
else:
print(f'不是小數')
q6: 使用for迴圈對s='123'進行遍歷,列印的內容依次是"倒計時3秒""倒計時2秒""倒計時1秒""出發" 重點:for...else...的使用,把else放在for結構中,而不放在主線程中,是常用的寫法.for的迴圈體中,也可以有break和continue
s='123'for c in s:
print(f'倒計時秒')
else:
print('出發')
q7: 判斷一句話是不是回文,正著念和反著念一樣 重點:切片中的[::-1]是常用的回文判斷方法
str=input("請輸入一句話:")if str[::-1] == str:
print(f'--是回文')
else:
print(f'--不是回文')
q8:判斷一句話中,大寫字母出現的次數,小寫字母的次數,數字的次數
重點: 判斷大小寫,數字的函式
str=input("請輸入數字字母組合的一句話:")daxie=0
xiaoxie=0
shuzi=0
qita=0
for c in str:
if c.isupper():
daxie += 1
elif c.islower():
xiaoxie += 1
elif c.isdigit():
shuzi += 1
else:
qita += 1
print(daxie,xiaoxie,shuzi,qita)
q9: 把列表中的每乙個元素用_下劃線拼接
重點:累加的核心思想,在迴圈中保留上一次的結果
要常用切片[:-1]
lst=['哈','哦','嗯']s=''
for c in lst:
s += c + "_"
s=s[:-1]
print(s)
q10: 查詢列表中的元素,移除每乙個元素的空格,並找出以"a"或"a"開頭,並且以"c"結尾的所有元素,並新增到乙個新列表中,最後迴圈列印這個新列表
重點:遍歷元素並進行修改的模板,以及(a or b) and c 這種判斷方式的寫法,記得用括號,因為and優先順序比or高
q11: 使用for和range,倒序將100~10中的偶數新增到乙個新列表中,然後僅保留列表中能被4整除的數
重點: 在迴圈體中,進行列表的刪除是乙個坑,因為索引一直在變化.所以要避開
重點:使用集合,這也是集合用的最多的地方
lst=["大力","小牛","搞笑","大力"]lst=list(set(lst))
print(lst)
q13: 寫乙個彩票開獎的程式,36選7,選滿就停止
重點:使用set()的去重,和randint
from random import randint
s=set()
while len(s)<7:
number=randint(1,36)
s.add(number)
print(s)
q14: 對字串k:1|k1:2|k3:3|k4:4,處理成字典
重點:切割,及對列表的解構
str="k:1|k1:2|k3:3|k4:4"li=[11,22,33,44,55,66,77,88,99,90]lst=str.split("|")
dic={}
for item in lst:
k,v=item.split(":")
dic[k]=int(v)
print(dic)
q15:有如下值,li=[11,22,33,44,55,66,77,88,99,90],將所有大於66的儲存到字典的第乙個key中,把小於66的儲存到另乙個key中,即:
# 方案1:手動定好key的數量
# 重點:最基本的寫法,缺點就是當需要很多分類的時候,要手動建立
# 1.若key存在,則返回字典中key對應的value
# 2.若key不存在,則新增乙個key:value鍵值對
入門級練習題 16 22
q16 1.系統隨機生成4位數,作為登入驗證,2.使用者輸入使用者名稱和密碼還有驗證碼,3.共3次登入機會,但如果是驗證碼錯誤,不扣次數 重點 理解驗證碼的迴圈 from random import randint num 0 verify code while num 4 verify code ...
C程式語言練習題1 15
練習1 15 重新編寫1.2節中的溫度轉換程式,使用函式實現溫度轉換計算。如下 include 包含標準庫的資訊。float fahrtocelsius float fahr float celsiustofahr float celsius int main 定義名為main的函式,它不接受引數值...
python入門練習題
1.使用者鍵盤輸入一年份,判斷是否為閏年?如果是閏年,則輸出 是閏年 如果不是閏年,則輸出 不是閏年 判斷閏年的方法 1 能被4整除但不能被100整除 2 能被400整除 2.for迴圈巢狀 列印9 9乘法表 3.輸入兩個數,求這兩個數的最大公約數和最小公倍數 1.企業發放的獎金根據利潤提成。利潤 ...