你好我正在創建一個函數來返回一個字符串,這取決於字符串是什麼值,即a返回一個更高的數字。返回隨機等級w /特定百分比
1
A
回答
0
這可能是simplet,但並不多:
def autograder():
bucket = random.randint (1, 100)
if bucket <= 45:
return randint (90, 100)
if bucket <= 80:
return randint (80, 89)
if bucket <= 95:
return randint (70, 79)
return randint (0, 69)
1
UPDATE:
問題原本有代碼,查看修訂歷史記錄,這是一些語法修正他原來的代碼。
這裏有一對夫婦的我看到的語法問題,也有更簡單的方法,但如果你想知道你所擁有的東西,請參考其他的答案更簡單的實現方式的問題:
不要
import randint
你應該做的,而不是任:from random import randint
或:
import random
,當你永遠使用類似
randint
前綴,它random
即random.randint(0, 45)
不要使用
+=
改用append
方法爲:a.append(randint(0,45))
你不想
random(a)
代替你可能想要一個choice
所以重寫它爲:random.choice(a)
1
def gen_grade():
ranges = [(90,100),(80,89),(70,79),(0,69)]
odds = [0.45,0.35,0.15,0.05]
rnd_key = random.random()
for i in range(len(odds)):
if rnd <= sum(odds[:i]): return random.randint(*ranges[i])
num_grades_to_gen = 25
grades = [gen_grade() for i in range(num_grades_to_gen)]
想必是我會怎麼做這
1
一個更清潔的方式來做到這一點是定義箱,只是有一個隨機數1-100。 then condition checking:
i = randint(0,100)
if i in range(0,45):
return randint(90,100)
elif i in range(45,80):
return randint(80,89)
elif i in range(80,95):
return randint(70,79)
else:
return randint(0,69)
相關問題
- 1. 在特定列SQL Server上隨機選擇記錄百分比
- 2. SQL返回百分比
- 3. 隨機函數,計算百分比
- 4. 選擇百分比隨機贏家
- 5. 計算隨機數的百分比
- 6. 真正的Python隨機百分比
- 7. 轉換成隨機數的百分比
- 8. 爲特定記錄返回NULL值的百分比
- 9. 高級僞隨機比特產生
- 10. 與指定的百分比
- 11. c#backgroundworker reportProgress返回百分比和Struct
- 12. 如何返回PHP中的百分比?
- 13. 返回累計百分比表一次
- 14. 如何以百分比返回函數?
- 15. SQL:無小數點返回百分比
- 16. 通過php上傳返回百分比
- 17. 計算百分比返回整數
- 18. 使用JQuery計數返回百分比
- 19. Postgres:返回百分比的查詢
- 20. 返回百分比chart.js(v2 +)圖例
- 21. 百分點百分比在配置單元返回零
- 22. SQL Server減去特定百分比
- 23. 隨機分配百分比,以每個詞
- 24. MySQL選擇返回一列的特定百分比(二進制值)
- 25. 機器人,在百分比
- 26. 制定百分比
- 27. 通過生成隨機數隨機選擇表的基礎上有百分比
- 28. 使用T-SQL如何計算測試等級百分比?
- 29. 如何將WiFi等級(即-45,-88)轉換爲百分比?
- 30. 如何以百分比計算RPG等級進展
'print(auotgrader())'或'print(autograder())'?這是你的實際縮進嗎?代碼甚至不應該編譯。 – Hyperboreus
@Hyperboreus我改變了它。但是這樣做更簡單嗎? – user3486852
看到我的答案。 – Hyperboreus